如何在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

有时​ JSPHTL 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

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f