Wenn Sie ein CQ5-Paket mit einer neuen Version unseres /apps Codes (mit .jsp oder .java Dateien) installieren, wird nach der Installation des Pakets nicht der ganze JSP-Code erneut kompiliert.
Führen Sie folgende Schritte durch, um dieses Problem bei einer einzelnen Installation zu lösen:
http://<host>:<port>/crx
als Administrator an (wobei <host> der Hostname oder die IP-Adresse Ihres CQ5-Servers und <port> die Nummer des Ports ist)./var/classes/org/apache/jsp/apps/.
Um dieses Problem zu beheben, sodass jedes Mal, wenn Sie das Paket installieren das JSP neu kompiliert wird, ändern Sie Ihr Paket wie folgt:
<workspaceFilter version="1.0"> <filter root="/var/classes/org/apache/jsp/apps" /> <filter root="/var/classes/apps" /> ...
/var/classes/org/apache/jsp/apps
und /var/classes/apps
in Ihrer Paket-Zip-Datei ein. Wenn Sie das Paket nun installieren, werden alle Klassen-Datein unter diesem Pfad gelöscht. Folglich werden alle Ihre JSPs und Java-Dateien der Anwendung im Ordner „/apps“ Ihres Pakets von Apache Sling neu kompiliert.CQ5.3, CQ5.2 ohne den Hotfix 30517
Dies Problem liegt an der Art und Weise, wie Apache Sling evaluiert, ob eine gegebene JSP- oder Java-Datei kompiliert werden soll.
Das jcr:lastModified-Datum des Skripts wird mit dem Datum der vorhandenen Klassendatei 'sjcr:lastModified verglichen.
Wenn das Datum der letzten Änderung des Skripts jünger als das der Klassendatei ist, wird es neu kompiliert. Andernfalls wird es nicht neu kompiliert.
Wenn Sie eine ZIP-Datei mit JSP-Dateien verpacken, haben einige JSPs möglicherweise ältere Zeitstempel als die Klassendateien unter /var/classes.
Verwenden Sie diese Problemumgehung nicht mit CQ5.4. Wenn Sie dieses Problem in CQ5.4 haben, senden Sie ein Supportticket und eine Anfrage.
AEM6 verfügt über die ein Webkonsolen-Plugin zum Löschen der kompilierten Klassen (unabhängig davon, wo und wie sie gespeichert sind), die während der Codeimplementierung http://<host>:<port>/system/console/slingjsp verwendet werden können.
Bei Ihrem Konto anmelden