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
を探す必要があります。
上記の要件を満たしたら、次のようにプラグインをインストールできます。
インストール用リンクをコピーします。
または、インストール用リンクを使用する代わりに、アーカイブをダウンロードすることもできます。この方法ではオフラインインストールが可能ですが、自動アップデート通知は受けられません。
Eclipse で、Help メニューを開きます。
「Install New Software」をクリックします。
「Add…」をクリックします。
名前にAEM Developer Tools
と入力します。
「Location」にインストール用 URL をコピーします。
「追加」をクリックします。
「AEM」プラグインと「Sling」プラグインの両方をオンにします。
「次へ」をクリックします。
詳細をインストールウィンドウで、次へを再度クリックします。
使用許諾契約に同意し、[終了]をクリックします。
Eclipseを再起動するには、RestartNowをクリックします。
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」を選択します。
「次へ」をクリックします。
m2eclipseがアーキタイプカタログをスキャンする必要があるので、この手順には少し時間がかかる場合があります。
メニューから「com.adobe.granite.archetypes : sample-project-archetype : <highest-number>
」を選択し、「次へ」をクリックします。
サンプルプロジェクトに次のフィールドを指定します。
「次へ」をクリックします。
次に、Eclipseが接続するAEMサーバーを設定します。
デバッガ機能を使用するには、デバッグモードでAEMを起動しておく必要があります。これは、次のようにコマンドラインに追加することで実現できます。
-nofork -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10123
「Finish」をクリックします。プロジェクト構造が作成されます。
新規インストール(具体的には、maven依存関係がダウンロードされていない場合)では、エラーが発生してプロジェクトが作成されることがあります。 この場合は、無効なプロジェクト定義の解決で説明されている手順に従ってください。
新しいプロジェクト機能を使用して、次のような適切な構造を作成できます。
サンプルのマルチモジュールプロジェクトを作成する手順に従うと、次のプロジェクトが自分用に作成されます。これにより、懸念事項を健全に分離できます。
PROJECT.ui.apps
for /apps
and /etc
contentPROJECT.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
フォルダーを右クリックし、に表示/システムエクスプローラーを選択します。apps
フォルダーとetc
フォルダーを削除し、コンテンツパッケージのapps
フォルダーとetc
フォルダーをここに配置します。PROJECT.ui.apps
プロジェクトを右クリックし、「更新」を選択します。次に、PROJECT.ui.content
に対して同じことを行い、そのコンテンツフォルダーをパッケージの1つに置き換えます。
PROJECT.ui.content
> src
> main
> content
> jcr_root
> content
を展開します。PROJECT.ui.content
プロジェクトを右クリックし、「更新」を選択します。次に、これら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パネルで、接続が開始されていることを確認します。開始していない場合は確認します。
「クリーンアップして公開」アイコンをクリックします。
完了したら、インスタンスでパッケージを実行させ、保存すると、変更が自動的にインスタンスに同期されます。
プロジェクトからパッケージを再構築する場合は、PROJECT.ui.apps
またはPROJECT.ui.content
を右クリックし、「Run As -> Maven Install」を選択します。
これで、パッケージを含むターゲットフォルダーが作成されました(PROJECT.ui.apps-0.0.1-SNAPSHOT.zip
)。
無効な依存関係およびプロジェクト定義を解決するには、次の手順を実行します。
Eclipseは必要な依存関係をダウンロードします。 これには少し時間がかかるかもしれません。
Apache Sling IDE tooling for Eclipse の公式 Web サイトでは、次の役立つ情報を参照できます。
次の公式の Eclipse ドキュメントは、環境の設定に役立ちます。