如何在AEM 6.5中强制重新编译Sling脚本JSP、Java和Sightly
了解如何在AEM 6.5中强制重新编译脚本JSP、Java和Sightly。
描述 description
环境
Adobe Experience Manager (AEM) 6.5
问题/症状
本文说明如何在AEM 6.5中强制重新编译所有Sling脚本,如JSP、Java和Sightly。
解决方法 resolution
有时 JSP、HTL clientLibs 或 类 不会在Adobe Experience Manager (AEM)中自动重新编译。 可能会出现奇怪的UI问题,并且日志中可能会显示编译错误。 现在,/var/clientlibs
文件夹下不再有库。 它们位于文件系统中。
1. 要通过AEM Web Console删除已编译的库,请执行以下操作:
客户端库的 :
- 打开
\[
1\]
并单击 使缓存无效。 如果要重建库,请单击 重建库。
对于类、JSP和Sightly缓存:
- 打开🔗
\[
](https://<host>:<port>/system/console/fsclassloader) [2\]
,然后单击右上角的 清除ClassLoader。
2. 通过文件系统 删除已编译的库
对于 ClientLibraries
- 在部署AEM实例的服务器中搜索。 从主文件夹运行命令:
find launchpad/felix -path "*/bundle*/data/outputcache" -type d.
- 删除 输出缓存 文件夹。
* 注意:*Clientlibs现在存储在 AdobeGranite UI Clientlibs 中。 您还可以在 AEM Web控制台 中检查捆绑包编号,并通过进入同一捆绑包,直接在crx-quickstart/launchpad/felix
下的文件系统上访问该文件夹。
对于类、JSP和Sightly缓存:
- 搜索部署AEM实例的服务器。 从主文件夹运行命令:
find launchpad/felix -path "*/bundle*/data/classes" -type d
- 删除 类 文件夹。
* 注意:*类和Sightly缓存存储在 Apache Sling Commons FileSystem ClassLoader 捆绑包中。 您还可以在 AEM Web控制台 中检查捆绑包编号,并直接在crx-quickstart/launchpad/felix
下的文件系统上访问该文件夹。
[
1]
https://[
主机]
:[
端口]
/libs/granite/ui/content/dumplibs.rebuild.html
[
2]
https://[
主机]
:[
端口]
/system/console/fsclassloader
下载
用于在AEM 6.4上自动执行重新编译过程的外壳脚本cq-force-recompilation64.sh
。示例参数: ./cq-force-recompilation64.sh crx-quickstart/ http://localhost:4502 admin:admin