Problem

Die OSGi-Bundles unserer Anwendung sind in unserem CQ5-Inhaltspaket unter /apps/<appname>/install enthalten, werden aber nicht immer installiert, wenn wir das Paket installieren?

Ursache

Dieses Problem ist auf die Kriterien zurückzuführen, die vom Apache Sling jcrinstall-Modul bei der Entscheidung, ob ein Bundle aktualisiert werden soll oder nicht, verwendet werden.

  • Weitere Informationen zu jcrinstall finden Sie hier

Lösung

Um dieses Problem zu beheben, sodass jedes Mal, wenn Sie das Paket installieren, das jsp neu installiert wird (über das Sling jcrinstall-Modul):

  1. Fügen Sie die folgende Filterregel am Anfang Ihrer filter.xml in META-INF/vault/filter.xml:
    ein.
    <workspaceFilter version="1.0">
    <filter root="/apps/<appname>">
    <include pattern="/apps/<appname>(/.*)?" />
    <exclude pattern="/apps/<appname>/install(/.*)?" />
    </filter>
    ...

Dieser Filter bewirkt, dass die alten Bundles gelöscht und die Ersetzungen installiert werden.

Hinweis: <appname> im obigen Code sollte durch den Namen Ihrer Anwendung ersetzt werden.

Gilt für

CQ 5.3

Referenz

1 http://sling.apache.org/site/jcr-installer-jcrjcrinstall-and-osgiinstaller.html

Hinweis:

Wenden Sie diese Problemumgehung nicht auf CQ5.4-Installationen an, da dies in der Tat zu weiteren Problemen führt.  Wenn Sie dieses Problem in CQ5.4 feststellen, dann reichen Sie bitte ein Support Ticket ein.