目次
アーキタイププロジェクトの生成
基本的に、アーキタイププロジェクト を生成する際には、Mavenコマンドを実行する必要があります。そして、必要に応じてコマンドラインを調整します。
もちろん、コマンドラインを実行する前に、下記資材のインストールが必要です。
アドビのドキュメント の記載内容のように、ベースとなるMavenコマンドラインは、下記のようなものです。
mvn -B org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate \ -D archetypeGroupId=com.adobe.aem \ -D archetypeArtifactId=aem-project-archetype \ -D archetypeVersion=XX \ -D appTitle="My Site" \ -D appId="mysite" \ -D groupId="com.mysite" \
ここでは、XXを最新のアーキタイプバージョン番号(今現在41)に置き換えて実行します。
Windows環境の場合、Git Bash をお勧めします。任意のフォルダーで右クリック、メニューから「Git Bash Here」をクリックします。
開かれた「Git Bash」画面には、Mavenコマンドを入力し、Enterキーを押下しますと、アーキタイププロジェクトの生成処理が開始されます。
ということで、何らかのエラーが発生し、処理が中断されたようです。エラーの内容を見ると、バーチャルホストに関する問題で、Dispatcher領域に関係するものです。
アドビのドキュメントを見ますと、プロパティ includeDispatcherConfig のデフォルト値が「Y」となり、Mavenコマンドラインに含まないと、Dispatcherの設定confファイルが生成され、何かの問題でjava.nio.file.FileSystemExceptionのエクセプションが発生したようです。
Dispatcherの設定confファイルが生成しないプロジェクトの生成には、プロパティ includeDispatcherConfig の設定が必要です。一先ず、プロパティ includeDispatcherConfig の値を「N」に設定し、もう一度Mavenコマンドを実行します。
mvn -B org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate \ -D archetypeGroupId=com.adobe.aem \ -D archetypeArtifactId=aem-project-archetype \ -D archetypeVersion=41 \ -D appTitle="My Site" \ -D appId="mysite" \ -D groupId="com.mysite" \ -D includeDispatcherConfig=n
そうしますと、ワーニングメッセージが出ていますが、結果的に BUILD SUCCESS となり、アーキタイププロジェクトが生成されました。
特定のアーキタイプ
生成したアーキタイププロジェクトのフォルダに見ると、Mavenコマンドが実行したフォルダの直下に、appIdの「mysite」で名付けられたフォルダが生成され、さらに、その中、プロジェクト各モジュールのフォルダが生成されています。
ここで注目して欲しいのは、archetype.properties ファイルです。今回のMavenコマンドでどんなアーキタイププロジェクトが生成されたのは、このファイルに記述されています。
archetype.properties ファイルには、「aemVersion=cloud」とのプロパティ値を見ると、今回生成したアーキタイププロジェクトは、AEM as s Cloud Service のプロジェクトとなっていることが分かりました。
これは、実行したアーキタイププロジェクトの生成する Mavenコマンドラインに、aemVersionプロパティを設定しない場合、デフォルト値の「cloud」となっている原因です。
aemVersionプロパティにより、アーキタイププロジェクトのタイプが大きく変わります。例えば、オンプレミスの場合、下記のようにプロパティ設定します。
aemVersion=6.5.13
また、今回のAEM as s Cloud Service の場合、デフォルト値でプロパティ設定するのは良いです。
aemVersion=cloud sdkVersion=latest
ちなみに、オンプレミスの場合、aemVersionプロパティで設定した数値により、pom.xmlでは、uber-jarのバージョン番号をそのまま指定します。例えば、aemVersion=6.5.13と設定する場合、pom.xmlのdependencyには、下記のように設定されています。
<dependency> <groupId>com.adobe.aem</groupId> <artifactId>uber-jar</artifactId> <version>6.5.13</version> <scope>provided</scope> </dependency>
ここで注意して欲しいのは、com.adobe.aemリポジトリには、6.5.14 のバージョン番号が存在しないため、aemVersion=6.5.14と設定すると、ビルドエラーが発生します。なので、6.5.13、或いは、6.5.15と設定すれば良いでしょう。
アーキタイププロジェクトのビルド
早速ですが、「mysite」フォルダに入って、「Git Bash」を立ち上げて、アーキタイププロジェクトのビルドを実行してみます。
以下のMavenコマンドで、ビルドを実行します。
$ mvn clean install
BUILD SUCCESS と表示すると、ビルドが正常終了します。
アーキタイププロジェクトのデプロイ
以下のMavenコマンドで、ローカル環境にデプロイします。
$ mvn clean install -PautoInstallPackage
BUILD SUCCESS と表示すると、デプロイが正常終了します。
AEMをログインし、パケージマネージャー画面でインストールされたパケージを確認できます。
ui.apps モジュールの資材は、/apps 配下にデプロイされています。
ui.content モジュールの資材は、/content 、/conf 配下にデプロイされています。
ui.config モジュールのOSGI設定資材は、/apps 配下にデプロイされています。
all モジュールは、上記のパッケージを纏めて、デプロイされています。
また、core モジュールには、Javaソースコードが含まれ、バンドルとしてAEMインスタンスにデプロイされています。
課題
参照サイト