4 Mavenを使用したOracle Coherenceプロジェクトのビルド

Oracle Coherence原型を使用して、archetypesアプリケーションを作成、ビルドおよびデプロイすることができます。

Mavenを使用したOracle Coherenceプロジェクトのビルドの概要

Oracle Fusion Middlewareでは、Mavenプラグインおよび原型がOracle Coherenceグリッド・アーカイブ(GAR)プロジェクト用に提供されています。

表4-1に、Maven座標を示します。

表4-1 CoherenceでのMaven座標

名前 GroupId ArtifactId バージョン

GARプラグイン

com.oracle.coherence

gar-maven-plugin

14.1.2-0-0

GAR原型

com.oracle.coherence.archetype

gar-maven-archetype

14.1.2-0-0

表4-2に、Oracle Coherenceプラグインでサポートされているゴールを示します。

表4-2 Oracle Coherenceのゴール

ゴール 用途

generate-descriptor

プロジェクトのPOF構成ファイルを生成します。

package

ライブラリ依存性を含む基本的なGARアセットをJARアーカイブにパッケージ化します。

repackage

パッケージ化されたJARアーカイブをオプションのメタデータおよびGAR拡張を使用して再パッケージ化します。

Maven原型からのCoherenceプロジェクトの作成

Coherence Maven原型を使用して、新しいCoherenceプロジェクトを作成できます。

  1. Coherence Maven原型を使用して新規Coherenceプロジェクトを作成するには、次のようなコマンドを発行してください。
    mvn archetype:generate
        -DarchetypeGroupId=com.oracle.coherence.archetype
        -DarchetypeArtifactId=gar-maven-archetype
        -DarchetypeVersion=14.1.2-0-0
        -DgroupId=org.mycompany
        -DartifactId=my-gar-project
        -Dversion=1.0-SNAPSHOT
    

    このコマンドにより、Mavenの原型プラグインの生成ゴールが実行され、原型から新規プロジェクトを作成できます。表4-3に、パラメータを示します。

    表4-3 Coherenceプロジェクトのパラメータ

    パラメータ 用途

    archetypeGroupId

    新規プロジェクトの作成に使用する原型のgroup ID。これは、com.oracle.coherence.archetypeである必要があります。

    archetypeArtifactId

    新規プロジェクトの作成に使用する原型のartifact ID。これは、gar-maven-archetypeである必要があります。

    archetypeVersion

    新規プロジェクトの作成に使用する原型のバージョン。これは、14.1.2-0-0である必要があります。

    groupId

    新規プロジェクトのgroup ID。通常、これは組織のドメイン名を逆にした形式で始まります。

    artifactId

    新規プロジェクトのartifact ID。通常、これはプロジェクトの識別子です。

    version

    新規プロジェクト用のversion。新規プロジェクトの場合、これは通常1.0-SNAPSHOTです。

    また、次の例に示すように、引数なしでコマンドを実行することもできます。この場合、Mavenでは、使用可能な原型のリストが表示され、必要な情報の入力を求められます。

    mvn archetype:generate
    

    プロジェクトの作成後、プロジェクトには次のファイルが含まれます。

    表4-4ではプロジェクトに含まれるファイルについて説明します。

    表4-4 Coherenceプロジェクト用に作成されるファイル

    ファイル 用途

    pom.xml

    新規プロジェクトについて記述するMavenプロジェクト・オブジェクト・モデル(POM)ファイル。プロジェクトに指定したMaven座標が含まれ、Coherence Mavenプラグインを使用してプロジェクトをgarファイルにビルドするための適切なプラグイン定義も含まれます。

    cache-config.xml

    初期Coherenceキャッシュ構成ファイルです。

    coherence-application.xml

    GARファイルの初期Coherence GARデプロイメント・ディスクリプタです。

    pof-config.xml

    初期Coherence Portable Object Format (POF)構成ファイルです。プラグイン・オプションgeneratePofが「true」に設定されている場合、POF構成ファイルは処理され、最終GARファイルに挿入されます。デフォルトでは、POF構成メタデータは生成されません。

  2. プロジェクトでPOFを使用する場合は、次のパラメータをプロジェクトのPOMファイルに追加する必要があります。
    パラメータ 用途

    generatePof

    このプラグイン・オプションがtrueである場合は、POF構成ファイルが生成され、最終GARファイルに挿入されます。構成ファイルは、GARのクラスパスでクラスcom.tangosol.io.pof.annotation.Portableが注釈付けされたすべてのクラスをスキャンして生成されます。デフォルトでは、POF構成メタデータは生成されません。

  3. 適切に生成されたpof-config.xmlファイルを使用してGARを生成するには、POMのGARプラグイン構成ファイルに次を追加します。
    <build>
      <plugins>
    …
        <plugin>
          <groupId>com.oracle.coherence</groupId>
          <artifactId>gar-maven-plugin</artifactId>
          <version>14.1.2-0-0</version>
          <extensions>true</extensions>
          <configuration>
             <generatePof>true</generatePof>
          </configuration>
        </plugin>
    …
      </plugins>
    </build>

Mavenを使用したCoherenceプロジェクトのビルド

プロジェクト・コードを記述した後に、Mavenを使用してプロジェクトをビルドできます。

  1. プロジェクトのソース・コードをコンパイルするには、次のコマンドを実行します。
    mvn compile
    
  2. コンパイル済のソースをGARにパッケージ化するには、次のコマンドを実行します。このコマンドにより、パッケージ化までのすべてのステップ(コンパイルを含む)が実行されることに注意してください。
    mvn package

Mavenを使用したWebLogic Server Coherence ContainerへのCoherenceプロジェクトのデプロイ

GARをWebLogic Server環境のCoherence Containerにデプロイするには、いくつかの追加構成をプロジェクトのPOMファイルに追加する必要があります。

次のステップを実行します。

  1. 次の例に示すように、Oracle WebLogic Mavenプラグインを使用してGARをデプロイする命令を追加します。
    <plugin>
      <groupId>com.oracle.weblogic</groupId>
      <artifactId>weblogic-maven-plugin</artifactId>
      <version>14.1.2-0-0</version>
      <executions>
        <execution>
          <id>deploy-to-server</id>
          <phase>pre-integration-test</phase>
          <goals>
            <goal>deploy</goal>
          </goals>
          <configuration>
            <adminurl>t3://localhost:7001</adminurl>
            <user>weblogic</user>
            <password>password</password>
            <!--
              The location of the file or directory to be deployed
             -->
               <source>${project.build.directory}/${project.build.finalName}.$
    {project.packaging}</source>
            <!--
               The target servers where the application is deployed
             -->
            <targets>AdminServer</targets>
            <verbose>true</verbose>
            <name>${project.build.finalName}</name>
          </configuration>
        </execution>
      </executions>
    </plugin>
  2. このセクションをPOMに追加した後、次のコマンドを使用してGARをコンパイルおよびパッケージ化し、WebLogic Serverにデプロイします。
    mvn verify

さらに詳細なCoherence例のビルド

実際のアプリケーションでは、GARプロジェクトだけでなく、GARで確立されたCoherenceキャッシュを操作するなんらかのクライアント・プロジェクトも存在する場合があります。

Coherence GARおよびCoherence GARと相互作用するWebアプリケーション(WAR)が含まれた例については、Mavenを使用した実際のアプリケーションのビルドを参照してください。