AEM Developer Tools for Eclipse

概述

AEM Developer Tools for Eclipse是一个Eclipse插件,它基于根据Apache许可证2发布的适用于Apache Sling🔗的Eclipse插件。

它提供了以下几项功能,可简化AEM开发:

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

要求

在使用AEM开发人员工具之前,您需要:

  • 下载并安装面向企业Java开发人员的Eclipse IDE
  • 按照Eclipse常见问题解答中的所述,通过编辑eclipse.ini配置文件,配置Eclipse安装以确保您至少拥有1 GB的堆内存。
注意

在macOS上,您需要右键单击​Eclipse.app,然后选择​显示包内容,才能找到​eclipse.ini

如何安装AEM Developer Tools for Eclipse

满足上述要求后,可按如下方式安装插件:

  1. 打开AEM Developer Tools Web站点。

  2. 复制​Installation Link

    请注意,或者,您也可以下载存档文件,而不是使用安装链接。 这允许离线安装,但您将无法通过这种方式接收自动更新通知。

  3. 在Eclipse中,打开​Help​菜单。

  4. 单击​安装新软件

  5. 单击​添加……

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

  7. 在​Location​中,复制安装URL。

  8. 单击​添加

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

  10. 单击​下一步

  11. 在​Install Details​窗口中,再次单击​Next

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

  13. 单击​RestartNow​以重新启动Eclipse。

AEM透视

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

AEM Development Tools for Eclipse提供了AEM Perspective,它使您能够完全控制AEM项目和实例。 要打开AEM透视图,请执行以下操作:

  1. 从Eclipse菜单栏中,选择​Window -> Perspective -> Open Perspective -> Other
  2. 在对话框中选择​AEM,然后单击​打开

Eclipse中的AEM视角

多模块项目示例

AEM Developer Tools for Eclipse附带一个示例的多模块项目,该项目可帮助您快速掌握Eclipse中项目设置的速度,并且是一些AEM功能的最佳实践指南。 进一步了解项目原型

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

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

    AEM多模块项目示例

  2. 单击​下一步

    注意

    此步骤可能需要一些时间,因为m2eclipse需要扫描原型目录。

  3. 从菜单中选择com.adobe.granite.archetypes : sample-project-archetype : <highest-number>,然后单击​下一步

    选择原型版本

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

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

    定义原型属性

  5. 单击​下一步

  6. 然后,您将配置一个AEM服务器,Eclipse将连接到该服务器。

    要使用调试器功能,您需要在调试模式下启动AEM — 例如,通过将以下内容添加到命令行中即可实现:

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

    连接到AEM服务器

  7. 单击​完成。 随即会创建项目结构。

    注意

    在全新安装后(更具体地说,当从未下载Maven依赖项时),您可能会收到创建的项目并出现错误。 在这种情况下,请按照解析无效项目定义中描述的过程操作。

如何导入现有项目

您可以使用​新建项目​功能为您创建正确的结构:

  1. 按照创建示例多模块项目的说明操作,您将为您创建以下项目,这样可以正常地分离问题:

    • PROJECT.ui.apps/apps/etc
    • PROJECT.ui.content /content
    • PROJECT.core (当您想要添加Java代码时,这些包会变得有趣)
    • PROJECT.it.launcherPROJECT.it.tests 集成测试
  2. PROJECT.ui.apps项目的内容替换为包的appsetc文件夹:

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

    1. 在“项目资源管理器”面板中,展开PROJECT.ui.content > src > main > content > jcr_root > content
    2. 右键单击更深的内容文件夹,然后选择​显示在 -> 系统资源管理器
    3. 删除您现在应该看到的内容文件夹,并将其放置到此处,即内容包的内容文件夹。
    4. 在Eclipse中,右键单击PROJECT.ui.content项目并选择​刷新
  4. 现在,您必须更新这两个项目的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. 至于已拆分为两个项目的包内容,您还必须将这些过滤器规则拆分为两个,并相应地更新两个项目的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. 在“服务器”面板中,确保已启动连接,如果未启动连接,请确保已启动连接。

  8. 单击​清理并发布​图标。

完成后,您应在实例上运行包,在保存后,任何更改都会自动同步到实例。

如果希望在项目外重新构建包,请右键单击PROJECT.ui.appsPROJECT.ui.content并选择​​方式运行 — > Maven Install

现在,您有一个目标文件夹,该文件夹已随包一起创建(例如,PROJECT.ui.apps-0.0.1-SNAPSHOT.zip)。

疑难解答

解决无效的项目定义

要解决无效的依赖项,项目定义将按如下步骤进行:

  1. 选择所有已创建的项目。
  2. 右键单击。
  3. 在上下文菜单中,选择​Maven -> 更新项目
  4. 检查​Force Updates of Snapshot/Releases
  5. 单击​确定

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

更多信息

适用于Eclipse网站的官方Apache Sling IDE工具为您提供了以下有用信息:

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

在此页面上