CQ5.x: OSGi-Bundles, die im Inhaltspaket unter /apps/appname/install enthalten sind, werden nicht immer neu installiert

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.

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?