8.11. 起動可能な JAR Maven プロジェクトの作成

以下の手順に従って、サンプル Maven プロジェクトを作成します。以下の手順を実行する前に、Maven プロジェクトを作成する必要があります。

  • 起動可能な JAR の JSON ロギングの有効化
  • 複数の起動可能な JAR インスタンスの Web セッションデータストレージの有効化
  • CLI スクリプトを使用した起動可能な JAR の HTTP 認証の有効化
  • Red Hat Single Sign-On での JBoss EAP の起動可能な JAR アプリケーションのセキュア化

プロジェクトの pom.xml ファイルでは、起動可能な JAR のビルドに必要なプロジェクトアーティファクトを取得するように Maven を設定できます。

手順

  1. Maven プロジェクトを設定します。

    $ mvn archetype:generate \
    -DgroupId=GROUP_ID \
    -DartifactId=ARTIFACT_ID \
    -DarchetypeGroupId=org.apache.maven.archetypes \
    -DarchetypeArtifactId=maven-archetype-webapp \
    -DinteractiveMode=false

    GROUP_ID はプロジェクトの groupId で、ARTIFACT_ID はプロジェクトの artifactId です。

  2. pom.xml ファイルで、リモートリポジトリーから JBoss EAP BOM ファイルを取得するように Maven を設定します。

    <repositories>
        <repository>
            <id>jboss</id>
            <url>https://maven.repository.redhat.com/ga</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
      <pluginRepository>
          <id>jboss</id>
            <url>https://maven.repository.redhat.com/ga</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
      </pluginRepository>
    </pluginRepositories>
  3. jboss-eap-jakartaee8 BOM の Jakarta EE アーティファクトのバージョンを自動的に管理するように Maven を設定するには、プロジェクトの pom.xml ファイルの <dependencyManagement> セクションに BOM を追加します。以下に例を示します。

    <dependencyManagement>
      <dependencies>
        <dependency>
            <groupId>org.jboss.bom</groupId>
            <artifactId>jboss-eap-jakartaee8</artifactId>
            <version>7.3.4.GA</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>
  4. 以下の例のように、BOM によって管理されるサーブレット API アーティファクトをプロジェクトの pom.xml ファイルの <dependency> セクションに追加します。

    <dependency>
        <groupId>org.jboss.spec.javax.servlet</groupId>
        <artifactId>jboss-servlet-api_4.0_spec</artifactId>
        <scope>provided</scope>
    </dependency>

関連情報