3
2

Open Libertyをオフライン環境でもZIPファイルから起動する

Last updated at Posted at 2024-02-03

Open Libertyをオフライン環境で動作させたい場合に、ZIPファイルから起動する方法を記載します。

ただし毎回ZIPファイルを手動で展開したりアプリケーションをデプロイするのは面倒です。Liberty Maven pluginを活用しながらZIPファイル起動を試みます。

本記事で使用するコンポーネント

コンポーネント名 バージョン
JDK OpenJDK 17.0.9 (IBM Semeru Runtime Open Edition)
Open Liberty 24.0.0.1
Apache Maven 3.9.6
Liberty Maven plugin 3.10
$ java -version
openjdk version "17.0.9" 2023-10-17
IBM Semeru Runtime Open Edition 17.0.9.0 (build 17.0.9+9)
Eclipse OpenJ9 VM 17.0.9.0 (build openj9-0.41.0, JRE 17 Mac OS X amd64-64-Bit Compressed References 20231017_583 (JIT enabled, AOT enabled)
OpenJ9   - 461bf3c70
OMR      - 5eee6ad9d
JCL      - 3699725139c based on jdk-17.0.9+9)

Open LibertyのZIPファイルの入手

Open Libertyの「Get Started」ページからZIPファイルを入手します。
使いたいバージョンおよびパッケージ名からダウンロードリンクを辿ります。

パッケージはWebアプリ目的かつ使いたいFeatureが分かる場合は「Web Profile ~」、どのFeatureを使うかわからない場合は「Jakarta EE ~」を選んでおくと後からFeatureが足りないといった手戻りが少ないです。

この記事では「Web Profile 10」のZIPファイルを使用します。

pom.xmlの設定

他のローカル開発環境での起動方法同様に、ZIPファイルからの起動はLiberty Maven Pluginを使用します。

アプリケーションのpom.xmlにLiberty Maven pluginを追加します。
このMaven pluginもMaven Centralからダウンロードしますので、オフライン環境では事前にローカルリポジトリ(.m2など)にpluginのJARファイルを配置しましょう。

<?xml version="1.0" encoding="UTF-8" ?>
<project>
  ...
  <build>
    <finalName>offline-demo</finalName>
    <plugins>
      <!-- Liberty Maven plugin -->
      <plugin>
        <groupId>io.openliberty.tools</groupId>
        <artifactId>liberty-maven-plugin</artifactId>
        <version>3.10</version>
        <!-- ZIPファイルから起動する -->
        <configuration>
          <runtimeArchive>/path/to/openliberty-webProfile10-24.0.0.1.zip </runtimeArchive>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

重要な部分は configuration > runtimeArchive のブロックです。
runtimeArchive に先ほどダウンロードしたZIPファイルのパスを指定します。
この状態でMavenゴールを指定するだけで自動的にZIPファイルを展開してアプリケーションをデプロイするようになります。

<project>
  ...
  <build>
    <plugins>
      <plugin>
        ...
        <!-- ZIPファイルから起動する -->
        <configuration>
          <runtimeArchive>/path/to/openliberty-webProfile10-24.0.0.1.zip</runtimeArchive>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

稼働確認

前述のLiberty Maven pluginの設定を追加した状態で Open Liberty を起動します。
ログにローカルのZIPファイルを使用された旨のメッセージが出力されています。

$ mvn liberty:dev
...
CWWKM2102I: non-artifact based assembly archive : /path/to/openliberty-webProfile10-24.0.0.1.zip を使用しています。
...
Installing assembly...
Expanding: /path/to/openliberty-webProfile10-24.0.0.1.zip into /path/to/project/liberty-demo-app/target/liberty
...
[監査      ] CWWKZ0001I: アプリケーション liberty-demo-app が 11.048 秒で開始しました。

参考

ci.maven - Liberty installation configuration


以上。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2