AEM Developer Tools for Eclipse

概要

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

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

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

要件

AEM Developer Toolsを使用する前に、次の操作を行う必要があります。

  • Eclipse IDE for Enterprise Java Developersをダウンロードしてインストールします。
  • Eclipse FAQの説明に従ってeclipse.ini設定ファイルを編集し、少なくとも1 GBのヒープメモリがあることを確認するようにEclipseを設定します。
メモ

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

Eclipse用AEM Developer Toolsのインストール方法

上記の要件を満たしたら、次のようにプラグインをインストールできます。

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

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

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

  3. Eclipse で、Help メニューを開きます。

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

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

  6. 名前​にAEM Developer Toolsと入力します。

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

  8. 追加」をクリックします。

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

  10. 次へ」をクリックします。

  11. 詳細をインストール​ウィンドウで、次へ​を再度クリックします。

  12. 使用許諾契約に同意し、[終了]をクリックします。

  13. Eclipseを再起動するには、RestartNow​をクリックします。

AEM パースペクティブ

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

AEM Development Tools for Eclipseは、AEMプロジェクトとインスタンスをオファーがフルコントロールできるAEMの視点を提供します。 AEMパースペクティブを開くには:

  1. Eclipseメニューバーから、「Window -> Perspective -> Open Perspective -> Other」を選択します。
  2. ダイアログで「AEM」を選択し、「開く」をクリックします。

EclipseのAEMパースペクティブ

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

AEM Developer Tools for Eclipse には、サンプルのマルチモジュールプロジェクトが同梱されています。このプロジェクトは、Eclipse でのプロジェクト設定を手早くおこなうために役立つだけでなく、いくつかの AEM 機能に対するベストプラクティスガイドの役割も果たします。プロジェクトのアーキタイプについて詳しくは、こちらを参照してください。

次の手順を実行して、サンプルプロジェクトを作成します。

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

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

  2. 次へ」をクリックします。

    メモ

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

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

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

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

    • 名前
    • グループID
    • アーティファクトID
    • appId — この値を設定するには、「 ​詳細」オプションを展開する必要がある場合があります。
    • appTitle — この値を設定するには、「 ​詳細」オプションを展開する必要がある場合があります。
    • パッケージ — この値を設定するには、 ​詳細オプションを展開する必要がある場合があります。

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

  5. 次へ」をクリックします。

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

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

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

    AEMサーバーに接続

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

    メモ

    新規インストール(具体的には、maven依存関係がダウンロードされていない場合)では、エラーが発生してプロジェクトが作成されることがあります。 この場合は、無効なプロジェクト定義の解決で説明されている手順に従ってください。

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

新しいプロジェクト​機能を使用して、次のような適切な構造を作成できます。

  1. サンプルのマルチモジュールプロジェクトを作成する手順に従うと、次のプロジェクトが自分用に作成されます。これにより、懸念事項を健全に分離できます。

    • PROJECT.ui.apps for /apps and /etc content
    • PROJECT.ui.content それ /content は書かれている
    • PROJECT.core Javaバンドルの場合(Javaコードを追加するとすぐに興味深い内容になります)
    • PROJECT.it.launcher 統合テスト PROJECT.it.tests の場合は、
  2. PROJECT.ui.appsプロジェクトの内容をパッケージのappsフォルダーとetcフォルダーに置き換えます。

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

    1. プロジェクトエクスプローラーパネルで、PROJECT.ui.content > src > main > content > jcr_root > contentを展開します。
    2. より深いコンテンツフォルダーを右クリックし、「 -> システムエクスプローラー​に表示」を選択します。
    3. 表示されるコンテンツフォルダーを削除し、コンテンツパッケージのコンテンツフォルダーをここに配置します。
    4. Eclipseで、PROJECT.ui.contentプロジェクトを右クリックし、「更新」を選択します。
  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つに分割し、2つのプロジェクトのfilter.xmlファイルに合わせて更新する必要もあります。

    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. クリーンアップして公開」アイコンをクリックします。

完了したら、インスタンスでパッケージを実行させ、保存すると、変更が自動的にインスタンスに同期されます。

プロジェクトからパッケージを再構築する場合は、PROJECT.ui.appsまたはPROJECT.ui.contentを右クリックし、「Run As -> Maven Install」を選択します。

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

トラブルシューティング

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

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

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

Eclipseは必要な依存関係をダウンロードします。 これには少し時間がかかるかもしれません。

詳細情報

Apache Sling IDE tooling for Eclipse の公式 Web サイトでは、次の役立つ情報を参照できます。

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

このページ