AEM Developer Tools for Eclipse は、Apache License 2 に従ってリリースされた Apache Sling 向け Eclipse プラグイン をベースとする Eclipse プラグインです。
このツールは、AEM 開発を容易にする次のような機能を提供します。
AEM Developer Tools を使用する前に、次の作業が必要です。
eclipse.ini
設定ファイルを編集し、ヒープメモリが 1 GB 以上になるように Eclipse を設定します。macOS では、Eclipse.app を右クリックし、「パッケージの内容を表示」を選択して、eclipse.ini
を探します。
あなたが 要件 上記の手順で、次のようにプラグインをインストールできます。
を開きます。 AEM Developer Tools Web Site.
インストール用リンクをコピーします。
または、インストール用リンクを使用する代わりに、アーカイブをダウンロードすることもできます。この方法では、オフラインでのインストールが可能ですが、この方法では、自動更新通知が送信されないので、エラーは発生しません。
Eclipse で、Help メニューを開きます。
「Install New Software」をクリックします。
「Add…」をクリックします。
「Name」に AEM Developer Tools
と入力します。
「Location」にインストール用 URL をコピーします。
「Add」をクリックします。
「AEM」プラグインと「Sling」プラグインの両方をオンにします。
「Next」をクリックします。
Install Details ウィンドウで、「Next」を再度クリックします。
使用許諾契約書に同意し、「Finish」をクリックします。
「Restart Now」をクリックして、Eclipse を再起動します。
Eclipse では、パースペクティブによって、ウィンドウ内で使用可能なアクションやビューが決まり、Eclipse のリソースとのタスク指向のやり取りが可能になります。パースペクティブについて詳しくは、Eclipse のドキュメントを参照してください。
AEM Development Tools for Eclipse には、AEM プロジェクトおよびインスタンスを完全にコントロールできる AEM パースペクティブが用意されています。AEM パースペクティブを開くには、次の操作を行います。
AEM Developer Tools for Eclipse には、サンプルのマルチモジュールプロジェクトが同梱されています。このプロジェクトは、Eclipse でのプロジェクト設定を手早く行うために役立つだけでなく、いくつかの AEM 機能に対するベストプラクティスガイドの役割も果たします。プロジェクトのアーキタイプについて詳しくは、こちらを参照してください。
次の手順を実行して、サンプルプロジェクトを作成します。
File/New/Projectメニューで、「AEM」セクションを参照して、「AEM Sample Multi-Module Project」を選択します。
「Next」をクリックします。
m2eclipse がアーキタイプカタログをスキャンする必要があるので、この手順には少し時間がかかることがあります。
メニューから「com.adobe.granite.archetypes : sample-project-archetype : <highest-number>
」を選択し、「Next」をクリックします。
サンプルプロジェクトの次のフィールドを指定します。
「Next」をクリックします。
次に、Eclipse の接続先となる AEM サーバーを設定します。
デバッガー機能を使用するには、AEM をデバッグモードで起動する必要があります。コマンドラインに以下を追加するなどして、デバッグモードで起動できます。
-nofork -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10123
「終了」をクリックします。プロジェクト構造が作成されます。
新規インストールの場合(より具体的には、Maven の依存関係をダウンロードしたことがない場合)は、プロジェクトを作成するとエラーが表示されることがあります。その場合は、無効なプロジェクト定義の解決で説明されている手順に従ってください。
New Project 機能を使用して、適切な構造を次の手順で作成できます。
サンプルのマルチモジュールプロジェクトを作成する手順に従うと、次のプロジェクトが自動的に作成されます。これらを使用して、関心事を合理的に分離できます。
PROJECT.ui.apps
:/apps
および /etc
のコンテンツ用PROJECT.ui.content
:/content
の作成済みコンテンツ用PROJECT.core
:Java バンドル用(Java コードの追加が必要になれば関心も高くなります)PROJECT.it.launcher
および PROJECT.it.tests
:統合テスト用PROJECT.ui.apps
プロジェクトの内容をパッケージの apps
フォルダーと etc
フォルダーに置き換えます。
PROJECT.ui.apps
/src
/main
/content
/jcr_root
/apps
を展開します。apps
フォルダーを右クリックし、Show In/System Explorer を選択します。apps
フォルダーと etc
フォルダーを削除し、その場所にコンテンツパッケージの apps
フォルダーと etc
フォルダーを配置します。PROJECT.ui.apps
プロジェクトを右クリックし、「Refresh」を選択します。続いて、PROJECT.ui.content
に対して同じことを行い、そのコンテンツフォルダーをパッケージの 1 つに置き換えます。
PROJECT.ui.content
/src
/main
/content
/jcr_root
/content
を展開します。PROJECT.ui.content
プロジェクトを右クリックし、「Refresh」を選択します。次に、コンテンツパッケージの内容に対応するように、これら 2 つのプロジェクトの filter.xml
ファイルを更新する必要があります。それには、コンテンツパッケージの META-INF/vault/filter.xml
ファイルを別のテキスト/コードエディターで開きます。
filter.xml
ファイルの例を次に示します。<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
<filter root="/apps/foo"/>
<filter root="/apps/foundation/components/bar"/>
<filter root="/etc/designs/foo"/>
<filter root="/content/foo"/>
<filter root="/content/dam/foo"/>
<filter root="/content/usergenerated/content/foo"/>
</workspaceFilter>
2 つのプロジェクトに分割されたパッケージ内容については、これらのフィルタールールを 2 つに分割し、それに応じて 2 つのプロジェクトの filter.xml
ファイルを更新する必要もあります。
Eclipse で PROJECT.ui.apps/src/main/content/META-INF/filter.xml
を開きます。
<workspaceFilter>
要素の内容を、/apps
または /etc
で始まる、パッケージのルールに置き換えます
例えば、次のようにします。
<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
<filter root="/apps/foo"/>
<filter root="/apps/foundation/components/bar"/>
<filter root="/etc/designs/foo"/>
</workspaceFilter>
次に、PROJECT.ui.content/src/main/content/META-INF/filter.xml
を開きます。
ルールを、/content
で始まる、パッケージのルールに置き換えます。
例えば、次のようにします。
<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
<filter root="/content/foo"/>
<filter root="/content/dam/foo"/>
<filter root="/content/usergenerated/content/foo"/>
</workspaceFilter>
すべての変更を保存してください。これで、新しいコンテンツが AEM インスタンスに同期するようになりました。
Servers パネルで、接続が開始されていることを確認します。開始していない場合は開始します。
「Clean and Publish」アイコンをクリックします。
完了したら、インスタンスでパッケージが動作しており、保存時には、変更が自動的にインスタンスに同期します。
プロジェクトからパッケージを再ビルドする場合は、PROJECT.ui.apps
または PROJECT.ui.content
を右クリックし、Run As/Maven install を選択します。
これで、パッケージを含むターゲットフォルダーが作成されました(例: )。 PROJECT.ui.apps-0.0.1-SNAPSHOT.zip
) をクリックします。
無効な依存関係およびプロジェクト定義を解決するには、次の手順を実行します。
必要な依存関係が自動的にダウンロードされます。これには少し時間がかかる場合があります。
Apache Sling IDE tooling for Eclipse の公式 web サイトでは、次の有益な情報を参照できます。
次の公式の Eclipse ドキュメントは、環境の設定に役立ちます。