MavenでビルドされたLiferayプロジェクトをデプロイするには、以下の2つの方法があります。
- 作成されたMaven JAR/WARをLiferay DXPインスタンスの
/deploy
フォルダにコピーをする方法。 - コマンドラインからMavenコマンドを実行して、Liferay DXPインスタンスに自動的にデプロイするようにMavenプロジェクトを設定する方法。
デプロイメントのためにJAR/WARを手動でコピーすることは実行可能なオプションですが、プロジェクトをデプロイするには非効率的な方法です。Maven POMの簡単な設定を使って、1回のコマンド実行でプロジェクトをLiferay DXPにデプロイすることができます。
このチュートリアルでは、モジュールJARをデプロイする場合に、OSGiモジュールJARを作成するようにプロジェクトが設定されていることを前提条件としています。まだこれを行っていない場合は 、Creating a Module JAR Using Mavenのチュートリアルで詳細を確認してください。
-
Liferay Mavenプロジェクトの親
pom.xml
ファイルに、以下のプラグイン設定を追加します。<build> <plugins> <plugin> <groupId>com.liferay</groupId> <artifactId>com.liferay.portal.tools.bundle.support</artifactId> <version>3.2.1</version> <executions> <execution> <id>deploy</id> <goals> <goal>deploy</goal> </goals> <phase>pre-integration-test</phase> </execution> </executions> </plugin> </plugins> </build>
このPOM設定は、
groupId
、artifactId
、およびversion
を定義することにより、LiferayのBundle Supportプラグインを適用します。このプラグインの詳細については、Maven Workspaceのチュートリアルを参照してください。このロジックは、executionsタグも定義します。このタグは、Mavenプロジェクトのビルドライフサイクルのインテグレーション事前テスト
フェーズで、Bundle Supportプラグインを実行するように設定します。deploy
goalは、ライフサイクルフェーズ用に定義されています。 -
デフォルトでは、 Bundle Supportプラグインはプラグインの親フォルダにある
bundles
フォルダの[Liferayインストール]にデプロイされます。この方法でプロジェクトを設定していない場合は、POMでLiferayのホームフォルダを定義する必要があります。これを行うには、plugin
タグ内でexecution
タグの外部に以下のロジックを追加します。<configuration> <liferayHome>LIFERAY_HOME_PATH</liferayHome> </configuration>
設定例は、以下のようになります。
<configuration> <liferayHome>C:/liferay/liferay-ce-portal-7.1-ga1</liferayHome> </configuration>
-
以下のコマンドを実行して、プロジェクトをデプロイします。
mvn verify
これで、Liferay Mavenプロジェクトがビルドされ、Liferay DXPインスタンスに自動的にデプロイされます。