AEM Developer Tools for Eclipse

概述

AEM Developer Tools for Eclipse是一个基于Apache License 2下发布的Eclipse plugin for Apache Sling的Eclipse插件。

它优惠了几个使AEM开发更容易的功能:

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

要求

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

注意

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

如何安装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. 单击​RestartNow​以重新启动Eclipse。

AEM透视

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

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

  1. 从Eclipse菜单栏中,选择​Window -> Perspective -> 打开透视 -> 其他
  2. 在对话框中选择​AEM​并单击​打开

Eclipse中的AEM透视

示例多模块项目

AEM Developer Tools for Eclipse附带一个范例、多模块项目,它可以帮助您快速掌握Eclipse中的项目设置,并作为几个AEM功能的最佳实践指南。 进一步了解Project Archetype

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

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

    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. 单击​完成。 将创建项目结构。

    注意

    在新安装(更确切地说,当从未下载过大量依赖项时)时,您可能会创建出错误的项目。 在这种情况下,请按照解决无效项目定义中描述的过程操作。

如何导入现有项目

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

  1. 按照说明创建示例多模块项目,您将为您创建以下项目,这将允许合理地分离问题:

    • PROJECT.ui.apps for /apps and /etc content
    • PROJECT.ui.content for /content that is roumeded
    • PROJECT.core 对于Java捆绑套件(只要您想添加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执行相同操作,并将其内容文件夹替换为您的某个包:

    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?lang=zh-Hans"/>
        <filter root="/apps/foundation/components/bar?lang=zh-Hans"/>
        <filter root="/etc/designs/foo?lang=zh-Hans"/>
        <filter root="/content/foo?lang=zh-Hans"/>
        <filter root="/content/dam/foo?lang=zh-Hans"/>
        <filter root="/content/usergenerated/content/foo?lang=zh-Hans"/>
    </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?lang=zh-Hans"/>
           <filter root="/apps/foundation/components/bar?lang=zh-Hans"/>
           <filter root="/etc/designs/foo?lang=zh-Hans"/>
        </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?lang=zh-Hans"/>
           <filter root="/content/dam/foo?lang=zh-Hans"/>
           <filter root="/content/usergenerated/content/foo?lang=zh-Hans"/>
        </workspaceFilter>
        
  6. 确保保存所有更改。 您现在可以将新内容同步到AEM实例。

  7. 在“服务器”面板中,确保连接已启动,如果未开始连接。

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

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

如果希望从项目中重新构建包,请右键单击PROJECT.ui.appsPROJECT.ui.content,然后选择​运行方式 -> 启动安装

现在,您有一个目标文件夹,它是在内部使用您的包创建的(例如,PROJECT.ui.apps-0.0.1-SNAPSHOT.zip)。

疑难解答

解析无效的项目定义

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

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

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

更多信息

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

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

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now