如何強制重新編譯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

有時​ 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.
  • 刪除​ 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

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