Adobe Content Package Maven Plugin :headding-anchor:adobe-content-package-maven-plugin
パッケージデプロイメントおよび管理タスクを Maven プロジェクトに組み込むには、Adobe Content Package Maven プラグインを使用します。
構築したパッケージは Adobe Content Package Maven プラグインによって AEM にデプロイされ、通常 AEM Package Manager: を使って実行するタスクの自動化を可能にします。
- ファイルシステム内のファイルから新しいパッケージを作成する。
- AEM にパッケージをインストールまたはアンインストールする。
- AEM で定義済みのパッケージをビルドする。
- AEM にインストールされているパッケージのリストを取得する。
- AEM からパッケージを削除する。
このドキュメントでは、Maven を使用してこれらのタスクを管理する方法について詳しく説明します。また一方、AEM プロジェクトとそのパッケージの構造を理解することも重要です。
パッケージと AEM プロジェクト構造 :headding-anchor:aem-project-structure
AEM as a Cloud Service は、最新の AEM プロジェクトアーキタイプによって実装された、パッケージ管理とプロジェクト構造に関する最新のベストプラクティスに従っています。
Content Package Maven Plugin の入手 :headding-anchor:obtaining-the-content-package-maven-plugin
このプラグインは Maven Central リポジトリーから入手できます。
Content Package Maven Plugin のゴールとパラメーター
Content Package Maven Plugin を使用するには、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 がプラグインをダウンロードできるようにするには、このページの Content Package Maven Plugin の取得の節で提供されているプロファイルを使用します。
Content Package Maven Plugin の目標 :headding-anchor:goals-of-the-content-package-maven-plugin
Content Package プラグインが提供する目標と目標のパラメーターについて詳しくは、次の節で説明します。共通パラメーターの節で説明したパラメーターは、ほとんどの目標に使用できます。1 つの目標に適用されるパラメーターについて詳しくは、その目標の節で説明します。
プラグインプレフィックス :headding-anchor:plugin-prefix
プラグインプレフィックスは content-package
です。次の例に示すように、コマンドラインからゴールを実行するには、このプレフィックスを使用します。
mvn content-package:build
パラメータープレフィックス :headding-anchor:parameter-prefix
特に指定がない限り、プラグインのゴールおよびパラメーターでは、次の例に示すように vault
プレフィックスを使用します。
mvn content-package:install -Dvault.targetURL="https://192.168.1.100:4502/crx/packmgr/service.jsp"
プロキシ :headding-anchor:proxies
AEM にプロキシを使用するゴールでは、Maven 設定で最初に見つかった有効なプロキシ設定を使用します。プロキシ設定が見つからない場合、プロキシは使用されません。共通パラメーターの節の useProxy
パラメーターを参照してください。
共通パラメーター :headding-anchor:common-parameters
次の表に示すパラメーターは、すべてのゴールに共通です(ゴール 列に記載されている場合を除く)。
failOnError
boolean
false
true
を指定すると、エラーの発生時にビルドが失敗します。値 false
を指定すると、ビルドの際にエラーが無視されます。package
を除くすべてのゴールname
String
build
:はい、install
:いいえ、rm
:はいbuild
:デフォルト値なし、install
:Maven プロジェクトの artifactId
プロパティの値ls
を除くすべてのゴールpassword
String
admin
package
を除くすべてのゴールserverId
String
package
を除くすべてのゴールtargetURL
String
http://localhost:4502/crx/packmgr/service.jsp
package
を除くすべてのゴールtimeout
int
5
package
を除くすべてのゴールuseProxy
boolean
true
true
の値は、Maven は最初に見つかったアクティブなプロキシ設定を使用してパッケージマネージャーへのリクエストをプロキシします。package
を除くすべてのゴールuserId
String
admin
package
を除くすべてのゴールverbose
boolean
false
package
を除くすべてのゴールbuild :headding-anchor:build
AEM インスタンスで既に定義されているコンテンツパッケージをビルドします。
パラメーター :headding-anchor:parameters
build ゴールのすべてのパラメーターについては、共通パラメーターを参照してください。
install :headding-anchor:install
リポジトリー内のパッケージをインストールします。このゴールの実行に Maven プロジェクトは不要です。このゴールは Maven のビルドライフサイクルの install
フェーズにバインドされます。
パラメーター :headding-anchor:parameters-1
以下のパラメーターに加えて、 共通パラメーター の説明も参照してください。
artifact
String
artifactId
プロパティの値groupId:artifactId:version[:packaging]
形式の文字列artifactId
String
groupId
String
groupId
install
boolean
true
localRepository
org.apache.maven.artifact.repository.ArtifactRepository
localRepository
システム変数の値packageFile
java.io.File
packaging
String
zip
pomRemoteRepositories
java.util.List
remoteArtifactRepositories
プロパティの値project
org.apache.maven.project.MavenProject
repositoryId
(POM)、repoID
(コマンドライン)String
temp
repositoryUrl
(POM)、repoURL
(コマンドライン)String
ls :headding-anchor:ls
パッケージマネージャーにデプロイされているパッケージを一覧表示します。
パラメーター :headding-anchor:parameters-2
ls ゴールのすべてのパラメーターについては、共通パラメーターを参照してください。
rm :headding-anchor:rm
パッケージマネージャーからパッケージを削除します。
パラメーター :headding-anchor:parameters-3
rm ゴールのすべてのパラメーターについては、共通パラメーターを参照してください。
uninstall :headding-anchor:uninstall
パッケージをアンインストールします。パッケージは、アンインストールされた状態でサーバーに残ります。
パラメーター :headding-anchor:parameters-4
uninstall ゴールのすべてのパラメーターについては、共通パラメーターを参照してください。
help :headding-anchor:help
パラメーター :headding-anchor:parameters-6
detail
boolean
false
goal
String
indentSize
int
2
lineLength
int
80
パッケージへのサムネール画像またはプロパティファイルの追加 :headding-anchor: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 プロジェクトの生成 :headding-anchor:using-archetypes
最新の AEM プロジェクトアーキタイプでは、オンプレミス実装でも AMS 実装でも、ベストプラクティスに従ったパッケージ構造を実装しているので、すべての AEM プロジェクトにこのプロジェクトアーキタイプを使用することをお勧めします。