首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AEM 6.1 Sightly Java类在构建时不会更新

AEM 6.1 Sightly Java类在构建时不会更新
EN

Stack Overflow用户
提问于 2015-11-06 03:12:51
回答 3查看 2.2K关注 0票数 3

我最近开始在AEM6.1中使用Sightly,它允许Java文件与组件位于同一文件夹中,并使用WCMUse类。但是,我注意到,每当我进行涉及对其中一个Java文件的更改的Maven构建时,页面功能就像Java类没有更改一样操作,尽管crx中的Java文件确实包括这些更改。作为一种解决方法,我能够在crx中修改Java文件,保存它,然后修改回来并再次保存,以便更新功能,但我并不是在所有实例上都具有该功能。

有人知道如何在构建过程中或构建之后强制重新编译组件中的Sightly Java吗?

EN

回答 3

Stack Overflow用户

发布于 2015-11-07 00:28:18

以下是需要验证的几件事:

1-在进行maven构建/部署时,是否会更改软件的版本?有时,如果您的压缩包或jar包中没有-SNAPSHOT,则在部署maven时,AEM不会更新代码。

2-在CRX/DE中有一个/var/ classes /sightly,您可以删除已编译的类,我认为即使在系统控制台中也有一个条目

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2015-11-11 00:15:20

实际上,Bambara帮助我找到了我需要的答案。事实证明,/var/classes文件夹包含已编译的sightly文件,但它在构建时不会自然地重新编译。在构建时删除该文件夹,然后运行一个使用sightly代码的页面,将强制重新编译并显示新功能。

票数 1
EN

Stack Overflow用户

发布于 2015-11-09 02:57:00

希望其他人能回答为什么会发生这种情况,以及如何避免。在多次遇到这个问题之后,我开始认为将Java代码放到组件文件夹中不是一个很好的主意。使用带有服务/核心捆绑包的maven多模块项目,那么所有Java代码都可以放在那里。从视图调用它只需要使用完全限定的类名(包括包)。将Java放入服务捆绑包有以下好处

  • 允许扩展类。由于某些原因,当从组件文件夹扩展类时,编译是不可预测的。
  • 集成开发环境安装更简单。视图模块中组件文件夹中的
  • 类具有特定于Sling的文件夹结构,因此让集成开发环境提供代码帮助需要付出额外的努力。导入apps.my-cool-project.components.pages.base.Header;//不会编译
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33552885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档