Mavenプロジェクトをゼロから作成するのは大変な作業です。Liferayポートレットプロジェクトにはどのような依存関係が必要になるのか、Liferay Maven Service Builderプロジェクトはどのようなものなのか、Liferay Mavenベースのコンテキストコントリビューターを作成するにはどうすればいいのか、 などの疑問は、「Liferay Mavenアーキタイプ」によって解決することができます。
LiferayはMavenアーキタイプを多数提供しており、Liferayプロジェクトが簡単に作成できます。 このチュートリアルでは、LiferayのMavenアーキタイプを使用してプロジェクトを作成する方法を説明します。
この記事の執筆時点で、Liferayでは約60種類のMavenアーキタイプを提供しています。この数は今後も増えていく予定です。これらのアーキタイプは、別のリモートリポジトリ(例: Liferayリポジトリ)から作成されるように設定していない限りは、セントラルリポジトリから作成されます。Liferayが提供するMavenアーキタイプを表示するには、以下のコマンドを実行します。
mvn archetype:generate -Dfilter=liferay
作成されたアーキタイプは、すべて最新のLiferay DXPリリース向けというわけではありません。
一部の製品は、Liferayポータルの以前のバージョン(例: 7.0、6.2)向けです。たとえば、接頭辞のcom.liferay.maven.archetypes
が付いているアーキタイプは、Liferay Portal 6.2を対象としたレガシーアーキタイプです。com.liferay.project.templates.[TYPE]
またはcom.liferay.faces.archetype:[TYPE]
が接頭辞になっているものは、Liferay DXP 7.1と互換性があります。
Liferayが提供するMavenアーキタイプで、よく使われているもののリストを以下に示します。
- Activator
- Fragment
- MVC Portlet
- npm Angular Portlet
- npm React Portlet
- Panel App
- Portlet Provider
- Service Builder
- Soy Portlet
- Theme
- などです。
Liferay DXP 7.1と互換性のあるアーキタイプ(プロジェクトテンプレート)のドキュメンテーションについては、Project Templatesのリファレンスセクションを参照してください。Mavenアーキタイプの作成プロセスを変更する方法の詳細については、MavenのArchetype Generationのドキュメンテーションを参照してください。
Liferay Mavenアーキタイプを使用して、Liferay MVCポートレットを作成する例を以下に示します。
-
コマンドラインで、Mavenプロジェクトを配置する場所に移動します。Liferayアーキタイプのみに対してフィルター処理された、以下のMavenアーキタイプの作成コマンドを実行します。
mvn archetype:generate -Dfilter=liferay
-
対応する番号(例:
11
)を選択して、com.liferay.project.templates.mvc.portlet
アーキタイプを選択します。ほとんどの場合、最新のアーキタイプバージョンを選択する必要があります。提供されるアーキタイプバージョンは、Liferay DXPのすべての7.xバージョンと互換性があります。
-
選択したMavenアーキタイプに応じて、Mavenプロジェクトに入力するアーキタイプオプションのセットが提供されます。MVCポートレットアーキタイプの場合、以下のプロパティが使用できます。
groupId
:com.liferay
artifactId
:com.liferay.project.templates.mvc.portlet
version
:1.0.6
package
:com.liferay.docs
className
:SampleMVC
必要なプロパティ値を入力すると、定義したプロパティ設定の概要が表示されます。Y
を入力して、プロジェクトの設定を確認します。
これで、Mavenプロジェクトが作成され、アーキタイプ作成コマンドを実行したフォルダから利用することができます。そのフォルダに既存の親pom.xml
ファイルがある場合、モジュールプロジェクトはそこに自動的に処理され、以下のようになります。
<modules>
...
<module>com.liferay.project.templates.mvc.portlet</module>
</modules>
Liferay Mavenのアーキタイプはデプロイ可能なLiferayプロジェクトを作成しますが、それらは必要最低限のものであり、さらにカスタマイズが必要になる可能性があります。
MavenでビルドされたLiferayプロジェクトに素早く基盤を作成する場合は、Liferay Mavenアーキタイプを使用するのが最適なオプションです。