AEM Developer Tools for Eclipse aem-developer-tools-for-eclipse

Experience Manager Developer Tools for Eclipse ロゴ

概要 overview

Experience Manager Developer Tools for Eclipse は、Apache License 2 に従ってリリースされた Apache Sling 向け Eclipse プラグインをベースとした Eclipse プラグインです。

このツールは、AEM 開発を容易にする次のような機能を提供します。

  • Eclipse Server Connector による AEM インスタンスとのシームレスな統合
  • コンテンツと OSGi バンドルの同期
  • コードのホットスワップ機能を備えたデバッグサポート
  • 固有のプロジェクト作成ウィザードからの AEM プロジェクトの簡単なブートストラップ
  • JCR プロパティを容易に編集できる

要件 requirements

AEM Developer Tools を使用する前に、次の作業が必要です。

  • Eclipse IDE for Enterprise Java and Web Developers. をダウンロードしてインストールします。
    • AEM Developer Tools for Eclipse のバージョン 1.4.0 は、Eclipse 2022-12 (4.26)以降と互換性があり、実行するには Java 17 以降が必要です。
  • eclipse.iniEclipse に関する FAQ​ の説明に従って、 設定ファイルを編集し、ヒープメモリが 1 GB 以上になるように Eclipse を設定します。
NOTE
macOSで、Eclipse.app を右クリックし、「パッケージの内容を表示」を選択して、パッ eclipse.ini ージを探します。

Eclipse 用 AEM 開発者ツールのインストール方法 how-to-install-the-aem-developer-tools-for-eclipse

前述の requirements を満たしたら、次の手順で開発者ツールプラグインをインストールできます。

  1. AEM Developer Tools Web サイトを開きます。

  2. インストール用リンク ​をコピーします。

    • または、インストールリンクを使用する代わりに、アーカイブをダウンロードできます。
    • この方法ではオフラインインストールが可能ですが、自動更新の通知は受け取りません。
  3. Eclipse で、ヘルプ ​メニューを開きます。

  4. Install New Software」をクリックします。

  5. Add…」をクリックします。

  6. Name」フィールドに「AEM Developer Tools」と入力します。

  7. Location」フィールドにインストール用 URL をコピーします。

  8. Add」をクリックします。

  9. AEM」プラグインと「Sling」プラグインの両方をオンにします。

  10. Next」をクリックします。

  11. インストールの詳細 ウィンドウで、インストールする項目を確認し、もう一度 次へ をクリックします。

  12. 使用許諾契約書に同意し、「Finish」をクリックします。

  13. 信頼する機関 ダイアログが表示されるので、機関/サイト https://eclipse.adobe.com を選択して 信頼する選択 をクリックします。

  14. アーティファクトを信頼 ダイアログが表示されるので、コード署名者を選択して 選択項目を信頼 をクリックします。

  15. RestartNow」をクリックして、Eclipse を再起動します。

AEM パースペクティブ the-aem-perspective

Eclipse では、パースペクティブ によって、ウィンドウ内で使用可能なアクションやビューが決定され、Eclipse のリソースとのタスク指向のやり取りが可能になります。 パースペクティブについて詳しくは、Eclipse のドキュメント ​ を参照してください。

Experience Manager Development Tools for Eclipse には、AEM プロジェクトおよびインスタンスを完全にコントロールできるAEM パースペクティブが用意されています。 AEM パースペクティブを開くには:

  1. Eclipse メニューバーから、ウィンドウパースペクティブパースペクティブを開くその他 ​を選択します。
  2. ダイアログで「AEM」を選択し、「Open」をクリックします。

Eclipse の AEM パースペクティブ

サンプルのマルチモジュールプロジェクト sample-multi-module-project

Experience Manager Developer Tools for Eclipse には、Eclipse でのプロジェクト設定を素早く習得できる、サンプルのマルチモジュールプロジェクトが付属しています。 また、AEM プロジェクトアーキタイプを活用して、AEMのいくつかの機能のベストプラクティスガイドとしても役立ち ​ す。

サンプルプロジェクトを作成する手順は次のとおりです。

  1. FileNewProject ​メニューで、「AEM」セクションを参照して、「AEM Sample Multi-Module Project」を選択します。

    AEM サンプルマルチモジュールプロジェクト

  2. Next」をクリックします。

    note note
    NOTE
    m2eclipse がアーキタイプカタログをスキャンする必要があるので、この手順には数分かかることがあります。
  3. com.adobe.aem : aem-project-archetype : <highest-number> アーキタイプ ドロップダウンで が自動的に選択されます。 必要に応じて、以前のバージョンを選択します。 「次へ」をクリックします。

    アーキタイプバージョンの選択

  4. サンプルプロジェクトの次のフィールドを指定します。

    • Name
    • Group Id
    • Artifact Id
    • appId - この値を設定するには、「Advanced」オプションを展開する必要があります。
    • appTitle - この値を設定するには、「Advanced」オプションを展開する必要があります。
    • Package - この値を設定するには、「Advanced」オプションを展開する必要があります。

    アーキタイププロパティの定義

  5. Next」をクリックします。

  6. 新規サーバーを設定 を選択し、サーバー名と必要な接続詳細を入力して、Eclipse が接続するAEM サーバーを設定します。

    AEM サーバーへの接続

    • デバッガー機能を使用するには、-agentlib のパラメーターを指定してAEMをデバッグモードで起動する必要があります。以下に例を示します。
    code language-text
    $ java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -jar aem-author-p4502.jar
    
    note tip
    TIP
    ローカルのAEM SDKで動作するプロジェクトのデバッグについて詳しくは、AEM SDKのリモートデバッグ ​ を参照してください。
  7. 終了」をクリックします。

プロジェクト構造が作成されます。 必要なアーティファクトをプロジェクトにダウンロードするのに時間がかかる場合があります。

NOTE
新規インストール時、または Maven の依存関係がまだダウンロードされていない場合、Eclipse は、プロジェクトが作成されたことをエラーで報告する場合があります。 その場合は、「無効なプロジェクト定義の解決 ​ の節で説明されている手順に従っ ​ ください。

既存プロジェクトの読み込み方法 how-to-import-existing-projects

新規プロジェクト 機能を使用して、基本的なプロジェクト構造を作成します。

  1. 手順に従って、基本的なプロジェクト構造を作成し ​ 関心事を合理的に分離した ​ サンプル マルチモジュールプロジェクト」を作成します。

    • PROJECT.ui.apps/apps および /etc のコンテンツ用
    • PROJECT.ui.content/content の作成済みコンテンツ用
    • Java バンドルの PROJECT.core
    • PROJECT.it.launcher および PROJECT.it.tests:統合テスト用
  2. PROJECT.ui.apps プロジェクトの内容をパッケージの apps フォルダーと etc フォルダーに置き換えます。

    1. プロジェクトエクスプローラー パネルで、PROJECT.ui.apps/src/main/content/jcr_root/apps を展開します。
    2. apps フォルダーを右クリックし、表示System Explorer を選択します。
    3. そこで apps フォルダーと etc フォルダーを削除します。
    4. 同じ場所に、コンテンツパッケージの apps フォルダーと etc フォルダーを配置します。
    5. Eclipse で PROJECT.ui.apps プロジェクトを右クリックし、「更新」を選択します。
  3. 続いて、PROJECT.ui.content に対して同じことを行い、そのコンテンツフォルダーを自分のパッケージの 1 つに置き換えます。

    1. プロジェクトエクスプローラー パネルで、PROJECT.ui.content/src/main/content/jcr_root/content を展開します。
    2. 深い階層のコンテンツフォルダーを右クリックし、表示System Explorer を選択します。
    3. そこでコンテンツフォルダーを削除します。
    4. 同じ場所に、コンテンツパッケージのコンテンツフォルダーを配置します。
    5. Eclipse で PROJECT.ui.content プロジェクトを右クリックし、「更新」を選択します。
  4. コンテンツパッケージの filter.xml ファイルを別のテキスト/コードエディターで開いて、コンテンツパッケージのコンテンツに対応するようにこれら 2 つのプロジェクトの META-INF/vault/filter.xml ファイルを更新します。

    • filter.xml ファイルの例を次に示します。
    code language-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>
    
  5. 2 つのプロジェクトに分割されたパッケージ内容については、これらのフィルタールールを 2 つに分割し、それに応じて 2 つのプロジェクトの filter.xml ファイルを更新する必要もあります。

    1. Eclipse で PROJECT.ui.apps/src/main/content/META-INF/filter.xml を開きます。

    2. <workspaceFilter> 要素の内容を、/apps または /etc で始まる、パッケージのルールに置き換えます

      • 次に例を示します。

        code language-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"/>
        </workspaceFilter>
        
    3. 次に、PROJECT.ui.content/src/main/content/META-INF/filter.xml を開きます。

    4. ルールを、/content で始まる、パッケージのルールに置き換えます。

      • 次に例を示します。

        code language-xml
        <?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>
        
  6. すべての変更を保存してください。これで、新しいコンテンツが AEM インスタンスに同期するようになりました。

  7. サーバー パネルで、接続が開始されていることを確認し、開始されていない場合は開始します。

  8. 削除と公開」アイコンをクリックします。

完了したら、パッケージがインスタンス上で実行されます。 保存時に、変更はすべてインスタンスに自動的に同期されます。

プロジェクトからパッケージを再ビルドする場合は、PROJECT.ui.apps または PROJECT.ui.content を右クリックし、次として実行Maven インストール ​を選択します。

これで、パッケージ(例えば、PROJECT.ui.apps-0.0.1-SNAPSHOT.zip)を含んだターゲットフォルダーが作成されました。

トラブルシューティング troubleshooting

無効なプロジェクト定義の解決 resolving-invalid-project-definition

無効な依存関係およびプロジェクト定義を解決するには、次の手順を実行します。

  1. 作成したプロジェクトをすべて選択します。
  2. 右クリックします。
  3. コンテキストメニューで、Mavenプロジェクトを更新 ​を選択します。
  4. Force Updates of Snapshot/Releases」をオンにします。
  5. OK」をクリックします。

必要な依存関係が自動的にダウンロードされます。これには少し時間がかかる場合があります。

詳細情報 more-information

Apache Sling IDE tooling for Eclipse の公式 web サイトでは、次の有益な追加情報を参照できます。

次の公式の Eclipse ドキュメントは、環境の設定に役立ちます。

recommendation-more-help
51c6a92d-a39d-46d7-8e3e-2db9a31c06a2