适用于 Eclipse 的 AEM 开发人员工具 aem-developer-tools-for-eclipse

适用于Eclipse徽标的Experience Manager Developer Tools

概述 overview

适用于Eclipse的Experience Manager Developer Tools ​是一个基于Apache许可证2下发布的适用于Apache SlingEclipse插件的Eclipse插件。

它提供了多项功能,可简化AEM的开发:

  • 通过Eclipse Server Connector与AEM实例无缝集成
  • 内容和OSGi捆绑包的同步
  • 使用代码热插拔功能调试支持
  • 通过特定项目创建向导简单BootstrapAEM项目
  • 轻松编辑JCR属性

要求 requirements

在使用AEM Developer Tools之前,您需要:

  • 下载并安装适用于Enterprise Java和Web开发人员的Eclipse IDE。
    • 适用于Eclipse的AEM Developer Tools版本1.4.0与Eclipse 2022-12 (4.26)或更高版本兼容,并且需要Java 17或更高版本才能运行。
  • 按照eclipse.iniEclipse常见问题解答中的说明,通过编辑配置文件来配置Eclipse安装,确保您至少有1 GB的栈内存。
NOTE
在macOS上,您需要右键单击​ Eclipse.app,然后选择​ 显示包内容 ​以查找您的eclipse.ini

如何安装适用于Eclipse的AEM开发人员工具 how-to-install-the-aem-developer-tools-for-eclipse

满足上述要求后,您可以按如下方式安装开发人员工具插件:

  1. 打开AEM Developer Tools网站。

  2. 复制​ 安装链接

    • 或者,您可以下载归档文件,而不是使用安装链接。
    • 此方法允许脱机安装,但您不会收到自动更新通知。
  3. 在Eclipse中,打开​ 帮助 ​菜单。

  4. 单击​ 安装新软件

  5. 单击​ 添加……

  6. 在​ 名称 ​字段中,输入AEM Developer Tools

  7. 在​ 位置 ​字段中,复制安装URL。

  8. 单击​ 添加

  9. 检查​ AEM ​和​ Sling ​插件。

  10. 单击​ 下一步

  11. 在​ 安装详细信息 ​窗口中,查看要安装的项,然后再次单击​ 下一步

  12. 接受许可协议,然后单击​ 完成

  13. 在出现的​ 信任颁发机构 ​对话框中,选择颁发机构/站点https://eclipse.adobe.com,然后单击​ 信任选定项

  14. 在显示的​ 信任项目 ​对话框中,选择代码签名者并单击​ 信任选定项

  15. 单击​ 立即重新启动 ​以重新启动Eclipse。

AEM视角 the-aem-perspective

在Eclipse中,透视 ​确定窗口内可用的操作和视图,并支持与Eclipse中的资源进行面向任务的交互。 有关透视的更多详细信息,请参阅Eclipse文档。

适用于Eclipse的Experience Manager开发工具 ​从一个AEM角度提供了对AEM项目和实例的完全控制权。 要打开AEM透视,请执行以下操作:

  1. 从Eclipse菜单栏中选择​ 窗口 > 透视 > 打开透视 > 其他
  2. 在对话框中选择​ AEM,然后单击​ 打开

Eclipse中的AEM透视

示例多模块项目 sample-multi-module-project

适用于Eclipse的Experience Manager Developer Tools ​附带了一个示例多模块项目,可帮助您快速完成Eclipse中的项目设置。 此外,它还可用作利用AEM项目原型的多个AEM功能的最佳实践指南。

按照以下步骤创建示例项目:

  1. 在​ 文件 > 新建 > 项目 ​菜单中,浏览到​ AEM ​部分并选择​ AEM示例多模块项目

    AEM示例多模块项目

  2. 单击​ 下一步

    note note
    NOTE
    此步骤可能需要一些时间,因为m2eclipse必须扫描原型目录。
  3. 应在com.adobe.aem : aem-project-archetype : <highest-number>原型​ 下拉列表中自动选择。 如果需要,请选择以前的版本。 单击​ 下一步

    选择原型版本

  4. 为示例项目提供以下字段:

    • 名称
    • 组ID
    • 项目ID
    • appId — 您可能需要展开​ 高级 ​选项来设置此值。
    • appTitle — 您可能需要展开​ 高级 ​选项以设置此值。
    • — 您可能需要展开​ 高级 ​选项来设置此值。

    定义原型属性

  5. 单击​ 下一步

  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.launcherPROJECT.it.tests
  2. PROJECT.ui.apps项目的内容替换为包的appsetc文件夹:

    1. 在​ 项目资源管理器 ​面板中,展开PROJECT.ui.apps > src > main > content > jcr_root > apps
    2. 右键单击apps文件夹,然后选择​ 显示位置 > 系统资源管理器
    3. 删除那里的appsetc文件夹。
    4. 将内容包的appsetc文件夹放在同一位置。
    5. 在Eclipse中,右键单击PROJECT.ui.apps项目并选择​ 刷新
  3. 然后,对PROJECT.ui.content执行相同操作,并将其内容文件夹替换为您的包之一:

    1. 在​ 项目资源管理器 ​面板中,展开PROJECT.ui.content > src > main > content > jcr_root > content
    2. 右键单击较深的内容文件夹,然后选择​ 显示于 > 系统资源管理器
    3. 在该处删除内容文件夹。
    4. 在同一位置,放置内容包的内容文件夹。
    5. 在Eclipse中,右键单击PROJECT.ui.content项目并选择​ 刷新
  4. 通过在单独的文本/代码编辑器中打开内容包的filter.xml文件,更新这两个项目的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. 对于已拆分为两个项目的包内容,还必须将这些筛选规则拆分为两个并相应地更新两个项目的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.appsPROJECT.ui.content,然后选择​ 运行方式 > Maven安装

现在,您已经创建了一个目标文件夹,其中包含了您的包(例如,PROJECT.ui.apps-0.0.1-SNAPSHOT.zip)。

疑难解答 troubleshooting

解析无效的项目定义 resolving-invalid-project-definition

要解决无效依赖项和项目定义,请按照以下步骤操作:

  1. 选择所有已创建的项目。
  2. 右键单击。
  3. 在上下文菜单中,选择​ Maven > 更新项目
  4. 检查​ 强制更新快照/版本
  5. 单击​ 确定

Eclipse下载所需的依赖项。 这可能需要花些时间。

更多信息 more-information

适用于Eclipse网站的官方Apache Sling IDE工具提供了有用的其他信息:

以下官方Eclipse文档可以帮助设置环境:

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab