Spring Boot アプリケーションの Liberty へのデプロイ

Liberty が Spring Boot アプリケーションをサポートできるようにすることができます。

Open Liberty Libertyへの Spring Boot アプリケーションのデプロイに関する最新情報については、 Open Liberty Web サイトを参照してください。

このタスクについて

Liberty が Spring Boot アプリケーションをサポートできるようにするには、以下のいずれかのフィーチャーを server.xml ファイルに追加します。
  • springBoot-1.5
  • springBoot-2.0
  • [23.0.0.9 以降]springBoot-3.0
Spring Boot アプリケーションをデプロイすると、 Liberty は、アプリケーションに組み込まれている Web コンテナーを無効にし、代わりに Liberty Web コンテナーを使用します。 サーバー構成ごとにデプロイできる Spring Boot アプリケーションは 1 つです。

以下のステップでは、例を使用して、Spring Boot アプリケーションをデプロイする方法を示します。 Liberty サーバー・インスタンスを作成し、 Spring Boot .jar アプリケーションをデプロイし、サーバー・インスタンスのデフォルト HTTP ポートを指定します。 デフォルトでは、 Liberty は、デフォルトのホスト構成を使用して Spring Boot アプリケーションをデプロイします。 この例では、デフォルトの HTTP ポートに hellospringboot.jar アプリケーションおよび 9090 を使用します。 Spring Boot .jar アプリケーションがない場合は、 Spring Boot リポジトリーを参照してください。

手順

  1. server create helloserver コマンドを実行して、サーバーを作成し、 helloserverという名前を付けます。
    このコマンドは、 /usr/servers/helloserver/apps ディレクトリーを作成します。
  2. アプリケーションが必要とするバージョンの Liberty springBoot フィーチャーを、 server.xml ファイルの featureManager エレメントに追加することによって使用可能にします。
    • アプリケーションで Spring Boot 1.5.8+ を使用する場合は、 springBoot-1.5 フィーチャーを有効にします。
    • アプリケーションで Spring Boot 2.0.1+ を使用する場合は、 springBoot-2.0 フィーチャーを有効にします。
    • [23.0.0.9 以降]アプリケーションで Spring Boot 3.0.4+ を使用する場合は、 springBoot-3.0 フィーチャーを有効にします。
    hellospringboot.jar アプリケーションは spring-boot-starter-web フィーチャーを使用しますが、この場合 servlet フィーチャーも使用可能にする必要があります。
    <!-- Enable features -->
    <featureManager>
      <feature>springBoot-2.0</feature>
      <feature>servlet-4.0</feature>
    </featureManager>
  3. hellospringboot.jar アプリケーションを、 server create コマンドで作成した /usr/servers/helloserver/apps ディレクトリーにコピーします。
  4. 以下のオプションに示すように、 server.xml アプリケーション構成または dropins フォルダーのいずれかを使用してアプリケーションをデプロイすることを選択します。
    • server create コマンドによって作成された server.xml ファイルを更新して、アプリケーションを構成します。

      springBootApplication エレメントまたは application エレメントを使用してアプリケーションを定義します。

      <springBootApplication location="hellospringboot.jar"/>
      <application type="spring" location="hellospringboot.jar"/>
    • server.xml ファイルを更新しないことを選択した場合は、代わりに Liberty ドロップイン・サポートを使用してください。
      • hellospringboot.jar ファイルを /usr/servers/helloserver/dropins/spring/hellospringboot.jar ディレクトリーにコピーします。
      • dropins サブディレクトリー内の spring サブディレクトリーは既存の .jar または .war 拡張子を保持する。
      • アプリケーションを dropins サブディレクトリーに直接コピーする場合は、.spring 拡張子を使用する。
  5. httpPort="9080" 属性値を httpPort="9090" 属性値に置き換えて、デフォルト・ホストの HTTP ポートを 9090 に構成します。
    <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9090" />
  6. サーバーをフォアグラウンドで開始します。
    server run helloserver
  7. http://localhost:9090 URL でアプリケーションをテストします。
  8. オプション: サーバーが不要になったら、 server stop コマンドを実行します。
    server stop helloserver