AEM Developer Tools for Eclipse

Experience ManagerDeveloper Tools for Eclipse ロゴ

概要

Eclipse のExperience Manager開発者ツール は、 Eclipse plugin for Apache Sling Apache License 2 に基づいてリリースされました。

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

  • Eclipse Server Connector による AEM インスタンスとのシームレスな統合
  • コンテンツと OSGi バンドルの同期
  • コードのホットスワップ機能を備えたデバッグサポート
  • 特定のプロジェクト作成ウィザードを使用したAEM Projects のシンプルなBootstrap
  • JCR プロパティの容易な編集

要件

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

メモ

macOS では、Eclipse.app を右クリックし、「パッケージの内容を表示」を選択して、eclipse.iniを探します。

Eclipse 用 AEM 開発者ツールのインストール方法

前述の要件を満たしたら、次の手順でプラグインをインストールできます。

  1. AEM 開発者ツールの web サイトを開きます。

  2. インストールリンク.

    または、インストールリンクを使用する代わりにアーカイブをダウンロードできます。 この方法ではオフラインインストールが可能ですが、自動アップデート通知は受けられません。

  3. Eclipse で、 ヘルプ メニュー

  4. クリック 新しいソフトウェアのインストール.

  5. クリック 追加….

  6. 名前 フィールドに入力 AEM Developer Tools.

  7. 場所 「 」フィールドで、インストール URL をコピーします。

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

  9. 両方を選択 AEM および Sling プラグイン

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

  11. Install Details ウィンドウで、「Next」を再度クリックします。

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

  13. Restart Now」をクリックして、Eclipse を再起動します。

AEM パースペクティブ

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

Eclipse 用Experience Manager開発ツール AEMプロジェクトとインスタンスを完全に制御できるAEMパースペクティブを提供します。 AEM パースペクティブを開くには、次の操作を行います。

  1. Eclipse メニューバーから、「 」を選択します。 ウィンドウ -> 遠近法 -> Open Perspective -> その他.
  2. ダイアログで「AEM」を選択し、「Open」をクリックします。

Eclipse の AEM パースペクティブ

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

この Eclipse のExperience Manager開発者ツール には、Eclipse でのプロジェクト設定をすばやく習得できる、サンプルのマルチモジュールプロジェクトが付属しています。 また、AEMのいくつかの機能のベストプラクティスガイドとしても機能します。 プロジェクトのアーキタイプについて詳しくは、こちらを参照してください。

サンプルプロジェクトを作成するには、次の手順に従います。

  1. ファイル > 新規 > プロジェクト メニュー、参照 AEM 「 」セクションで「 」を選択します。 AEM Sample Multi-Module Project.

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

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

    メモ

    m2eclipse がアーキタイプカタログをスキャンする必要があるので、この手順には少し時間がかかることがあります。

  3. メニューから「com.adobe.granite.archetypes : sample-project-archetype : <highest-number>」を選択し、「Next」をクリックします。

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

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

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

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

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

  6. 次に、Eclipse が接続するAEMサーバーを設定します。

    デバッガー機能を使用するには、デバッグモードでAEMを起動する必要があります。これを実現するには、次のコマンドをコマンドラインに追加します。

        -nofork -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=10123
    

    AEM サーバーへの接続

  7. 終了」をクリックします。プロジェクト構造が作成されます。

    メモ

    新規インストールの場合(より具体的には、Maven の依存関係をダウンロードしたことがない場合)は、プロジェクトを作成するとエラーが表示されることがあります。この場合は、 無効なプロジェクト定義の解決.

既存プロジェクトの読み込み方法

New Project 機能を使用して、適切な構造を次の手順で作成できます。

  1. 手順に従って、 マルチモジュールプロジェクトのサンプル 次のプロジェクトが作成され、問題の健全な分離を可能にします。

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

    1. Project Explorer パネルで、PROJECT.ui.appssrcmaincontentjcr_rootapps を展開します。
    2. apps フォルダーを右クリックし、Show InSystem Explorer を選択します。
    3. 表示される apps フォルダーと etc フォルダーを削除し、その場所にコンテンツパッケージの apps フォルダーと etc フォルダーを配置します。
    4. Eclipse で PROJECT.ui.apps プロジェクトを右クリックし、「Refresh」を選択します。
  3. 次に、 PROJECT.ui.content そのコンテンツフォルダーを、次のいずれかのパッケージに置き換えます。

    1. Project Explorer パネルで、PROJECT.ui.contentsrcmaincontentjcr_rootcontent を展開します。
    2. 深い階層のコンテンツフォルダーを右クリックし、Show InSystem Explorer を選択します。
    3. 表示されるコンテンツフォルダーを削除し、その場所にコンテンツパッケージのコンテンツフォルダーを配置します。
    4. Eclipse で PROJECT.ui.content プロジェクトを右クリックし、「Refresh」を選択します。
  4. 次に、コンテンツパッケージの内容に対応するように、これら 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>
    
  5. 2 つのプロジェクトに分割されたパッケージのコンテンツについては、これらのフィルタールールも 2 つに分割し、それに応じて filter.xml 2 つのプロジェクトのファイル。

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

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

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

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

  8. Clean and Publish」アイコンをクリックします。

完了したら、インスタンスでパッケージが動作しており、保存時には、変更が自動的にインスタンスに同期します。

プロジェクトからパッケージを再ビルドする場合は、PROJECT.ui.apps または PROJECT.ui.content を右クリックし、Run AsMaven install を選択します。

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

トラブルシューティング

無効なプロジェクト定義の解決

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

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

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

詳細情報

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

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

このページ