如何強制重新編譯AEM 6.5中的Sling指令碼JSP、Java和Sightly
瞭解如何強制重新編譯AEM 6.5中的Sling指令碼JSP、Java和Sightly。
說明 description
環境
Adobe Experience Manager (AEM) 6.5
問題/症狀
本文會說明如何強制重新編譯所有Sling指令碼,例如AEM 6.5中的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.
- 刪除 outputcache 資料夾。
* 注意:*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
下載
殼層指令碼cq-force-recompilation64.sh
會在AEM 6.4上自動執行重新編譯程式。範例引數: ./cq-force-recompilation64.sh crx-quickstart/ http://localhost:4502 admin:admin