我最近开始在AEM6.1中使用Sightly,它允许Java文件与组件位于同一文件夹中,并使用WCMUse类。但是,我注意到,每当我进行涉及对其中一个Java文件的更改的Maven构建时,页面功能就像Java类没有更改一样操作,尽管crx中的Java文件确实包括这些更改。作为一种解决方法,我能够在crx中修改Java文件,保存它,然后修改回来并再次保存,以便更新功能,但我并不是在所有实例上都具有该功能。
有人知道如何在构建过程中或构建之后强制重新编译组件中的Sightly Java吗?
发布于 2015-11-07 00:28:18
以下是需要验证的几件事:
1-在进行maven构建/部署时,是否会更改软件的版本?有时,如果您的压缩包或jar包中没有-SNAPSHOT,则在部署maven时,AEM不会更新代码。
2-在CRX/DE中有一个/var/ classes /sightly,您可以删除已编译的类,我认为即使在系统控制台中也有一个条目
希望这能有所帮助。
发布于 2015-11-11 00:15:20
实际上,Bambara帮助我找到了我需要的答案。事实证明,/var/classes文件夹包含已编译的sightly文件,但它在构建时不会自然地重新编译。在构建时删除该文件夹,然后运行一个使用sightly代码的页面,将强制重新编译并显示新功能。
发布于 2015-11-09 02:57:00
希望其他人能回答为什么会发生这种情况,以及如何避免。在多次遇到这个问题之后,我开始认为将Java代码放到组件文件夹中不是一个很好的主意。使用带有服务/核心捆绑包的maven多模块项目,那么所有Java代码都可以放在那里。从视图调用它只需要使用完全限定的类名(包括包)。将Java放入服务捆绑包有以下好处
https://stackoverflow.com/questions/33552885
复制相似问题