Adobe コンテンツパッケージ Maven プラグイン adobe-content-package-maven-plugin
パッケージデプロイメントおよび管理タスクを Maven プロジェクトに組み込むには、Adobe コンテンツパッケージ Maven プラグインを使用します。
構築したパッケージは Adobe コンテンツパッケージ Maven プラグインによって AEM にデプロイされ、通常 AEM パッケージマネージャーを使って実行するタスクの自動化を可能にします。
- ファイルシステム内のファイルから新しいパッケージを作成する。
- AEM にパッケージをインストールまたはアンインストールする。
- AEM で定義済みのパッケージをビルドする。
- AEM にインストールされているパッケージのリストを取得する。
- AEM からパッケージを削除する。
このドキュメントでは、Maven を使用してこれらのタスクを管理する方法について詳しく説明します。ただし、AEM プロジェクトとそのパッケージの構造化方法を理解することも重要です。
パッケージと AEM プロジェクト構造 aem-project-structure
AEM as a Cloud Service は、最新の AEM プロジェクトアーキタイプによって実装された、パッケージ管理とプロジェクト構造に関する最新のベストプラクティスに従っています。
コンテンツパッケージ Maven プラグインの入手 obtaining-the-content-package-maven-plugin
プラグインは、Maven Central リポジトリから入手できます。
コンテンツパッケージ Maven プラグインのゴールとパラメーター
コンテンツパッケージ Maven プラグインを使用するには、POM ファイルのビルド要素内に次のプラグイン要素を追加します。
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>content-package-maven-plugin</artifactId>
<version>1.0.4</version>
<configuration>
<!-- parameters and values common to all goals, as required -->
</configuration>
</plugin>
Maven がプラグインをダウンロードできるようにするには、このページの コンテンツパッケージ Maven プラグインの入手の節で提供されているプロファイルを使用します。
コンテンツパッケージ Maven プラグインの入手の目標 goals-of-the-content-package-maven-plugin
コンテンツパッケージプラグインが提供する目標と目標のパラメーターについて詳しくは、次の節で説明します。共通パラメーターの節で説明したパラメーターは、ほとんどの目標に使用できます。1 つの目標に適用されるパラメーターについて詳しくは、その目標の節で説明します。
プラグイン接頭辞 plugin-prefix
プラグイン接頭辞は content-package です。次の例に示すように、コマンドラインからゴールを実行するには、この接頭辞を使用します。
mvn content-package:build
パラメーター接頭辞 parameter-prefix
特に指定がない限り、プラグインのゴールおよびパラメーターでは、次の例に示すように vault 接頭辞を使用します。
mvn content-package:install -Dvault.targetURL="https://192.168.1.100:4502/crx/packmgr/service.jsp"
プロキシ proxies
AEM にプロキシを使用するゴールでは、Maven 設定で最初に見つかった有効なプロキシ設定を使用します。プロキシ設定が見つからない場合、プロキシは使用されません。共通パラメーターの節の useProxy パラメーターを参照してください。
共通パラメーター common-parameters
次の表に示すパラメーターは、すべてのゴールに共通です(ゴール列に記載されている場合を除く)。
failOnErrorbooleanfalsetrue を指定すると、エラーの発生時にビルドが失敗します。値 false を指定すると、ビルドの際にエラーが無視されます。package を除くすべてのゴールnameStringbuild:はい、install:いいえ、rm:はいbuild:デフォルト値なし、install:Maven プロジェクトの artifactId プロパティの値ls を除くすべてのゴールpasswordStringadminpackage を除くすべてのゴールserverIdStringpackage を除くすべてのゴールtargetURLStringhttp://localhost:4502/crx/packmgr/service.jsppackage を除くすべてのゴールtimeoutint5package を除くすべてのゴールuseProxybooleantruetrue の値は、Maven は最初に見つかったアクティブなプロキシ設定を使用してパッケージマネージャーへのリクエストをプロキシします。package を除くすべてのゴールuserIdStringadminpackage を除くすべてのゴールverbosebooleanfalsepackage を除くすべてのゴールbuild build
AEM インスタンスで既に定義されているコンテンツパッケージをビルドします。
パラメーター parameters
build ゴールのすべてのパラメーターについては、共通パラメーターを参照してください。
install install
リポジトリー内のパッケージをインストールします。このゴールの実行に Maven プロジェクトは不要です。このゴールは Maven のビルドライフサイクルの install フェーズにバインドされます。
パラメーター parameters-1
以下のパラメーターに加えて、 共通パラメーター の説明も参照してください。
artifactStringartifactId プロパティの値groupId:artifactId:version[:packaging] 形式の文字列artifactIdStringgroupIdStringgroupIdinstallbooleantruelocalRepositoryorg.apache.maven.artifact.repository.ArtifactRepositorylocalRepository システム変数の値packageFilejava.io.FilepackagingStringzippomRemoteRepositoriesjava.util.ListremoteArtifactRepositories プロパティの値projectorg.apache.maven.project.MavenProjectrepositoryId(POM)、repoID(コマンドライン)StringtemprepositoryUrl(POM)、repoURL(コマンドライン)Stringls ls
パッケージマネージャーにデプロイされているパッケージを一覧表示します。
パラメーター parameters-2
ls ゴールのすべてのパラメーターについては、共通パラメーターを参照してください。
rm rm
パッケージマネージャーからパッケージを削除します。
パラメーター parameters-3
rm ゴールのすべてのパラメーターについては、共通パラメーターを参照してください。
uninstall uninstall
パッケージをアンインストールします。パッケージは、アンインストールされた状態でサーバーに残ります。
パラメーター parameters-4
uninstall ゴールのすべてのパラメーターについては、共通パラメーターを参照してください。
help help
パラメーター parameters-6
detailbooleanfalsegoalStringindentSizeint2lineLengthint80パッケージへのサムネール画像またはプロパティファイルの追加 including-a-thumbnail-image-or-properties-file-in-the-package
デフォルトのパッケージ設定ファイルを置き換えて、パッケージのプロパティをカスタマイズします。例えば、パッケージマネージャーでパッケージを区別するためのサムネール画像を含めます。
ソースファイルはファイルシステム内のどこにあっても構いません。POM ファイルでは、ソースファイルを target/vault-work/META-INF にコピーするように、パッケージに追加するビルドリソースを定義します。
次の POM コードでは、プロジェクトソースの META-INF フォルダー内のファイルをパッケージに追加します。
<build>
<resources>
<!-- vault META-INF resources (thumbnail and so on) -->
<resource>
<directory>${basedir}/src/main/content/META-INF</directory>
<targetPath>../vault-work/META-INF</targetPath>
</resource>
</resources>
</build>
次の POM コードでは、1 つのサムネール画像だけをパッケージに追加します。サムネール画像の名前を thumbnail.png と指定して、パッケージの META-INF/vault/definition フォルダーに配置してください。この例では、ソースファイルはプロジェクトの /src/main/content/META-INF/vault/definition フォルダーにあります。
<build>
<resources>
<!-- thumbnail only -->
<resource>
<directory>${basedir}/src/main/content/META-INF/vault/definition</directory>
<targetPath>../vault-work/META-INF/vault/definition</targetPath>
</resource>
</resources>
</build>
AEM プロジェクトアーキタイプを使用した AEM プロジェクトの生成 using-archetypes
最新の AEM プロジェクトアーキタイプでは、オンプレミス実装でも AMS 実装でも、ベストプラクティスに従ったパッケージ構造を実装しているので、すべての AEM プロジェクトにこのプロジェクトアーキタイプを使用することをお勧めします。