0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Open LibertyのMavenプラグインで使用するLibertyのランタイムを指定する

Last updated at Posted at 2024-08-05

What's?

Open Libertyを使う時にはMavenプラグイン(もしくはGradleプラグイン)を利用します。

これらを使うとOpen Libertyを含めてパッケージングや実行を行うのですが、この時にどういったランタイム(バージョン)が使われるのか気になったので調べてみました。

今回はMavenプラグインを対象にします。

Liberty Maven Plugin

Open Libertyのドキュメント内で、Liberty Maven Pluginに関する記載はこちらにあります。

Develop with Liberty Tools / Minimum requirements

Open Liberty Maven Pluginではなく、Liberty Maven Pluginです。

こちらのGitHubリポジトリがリンク先として紹介されています。

ざっくりとした使い方は、こちらのガイドを参照するとよいでしょう。

Libery Maven Plugin自体のドキュメントとしては、こちらにあるMarkdownファイルを見ていくことになります。

それで、今回のお題である「Open LibertyのMavenプラグインを使った時にどういったOpen Libertyのランタイムが使われるのか?」という点ですが、共通パラメータのページに記載があります。

runtimeArtifactがこれに該当し、使用するLibertyのMavenアーティファクトを指定します。

デフォルトはio.openliberty:openliberty-kernelの最新版が選択されるようです。

Liberty installation configuration / Calculating the runtime artifact

ソースコードではこのあたりですね。

では選択できるLibertyのMavenアーティファクトは?というと、こちらに一覧があります。

グループIDがio.openlibertyであればOpen Liberty、com.ibm.websphere.appserver.runtimeであればWebSphere Libertyのようです。

カーネル、ランタイム、Java EE 8、Jakarta EE 9、Web ProfileやMicroProfileといった各種プロファイル向けのアーティファクトが、Open LibertyおよびWebSphere Libertyごとに並んでいます。

どのランタイムを選ぶかですが、目的に応じたプロファイルのものを選べばいいのかなと迷ったりしそうではあります。
とはいえ、server.xmlfeatureManagerfeatureで使用するフィーチャーを指定してもいいと思うので、その場合はカーネルを選べばいいような気はしますね。

runtimeArtifactの具体的な指定方法はこちらに例が書かれています。

Liberty installation configuration / Using a Maven artifact

以下に一例を。

pom.xml
...

  <build>
    ...

    <plugins>

      ...

      <plugin>
        <groupId>io.openliberty.tools</groupId>
        <artifactId>liberty-maven-plugin</artifactId>
        <version>3.10.3</version>
        <configuration>
          <runtimeArtifact>
            <groupId>io.openliberty</groupId>
            <artifactId>openliberty-kernel</artifactId>
            <version>24.0.0.7</version>
            <type>zip</type>
          </runtimeArtifact>
        </configuration>
      </plugin>

      ...

    </plugins>

    ...

  </build>

...

また、今回のテーマでは蛇足ではありますが、インストール済みのLibertyを指定して構築することもできます。

Liberty installation configuration / Using an existing installation

実行するタイミングでランタイムのバージョンが変わるのも困ると思いますので、明示的に指定するのがよいのかなと思います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?