CQ5.x:/apps/appname/install のコンテンツパッケージに含まれている OSGi バンドルが再インストールされない場合がある

問題点

アドビアプリケーションの OSGi バンドルは、/apps/<appname>/install の CQ5 コンテンツパッケージに含まれていますが、このパッケージをインストールする場合、必ずインストールされるわけではないのですか?

原因

この問題は、バンドルをアップグレードするかどうかを決定する際に、Apache Sling jcrinstall モジュールで使用される条件が原因で発生します。

  • jcrinstall の詳細については、ここを参照してください

解決策

この問題を解決するには、パッケージをインストールするたびに、次のように(Sling jcrinstall モジュールを使用して)jsp を再インストールします。

  1. META-INF/vault/filter.xmlfilter.xml ファイルの先頭に次のフィルタールールを追加します。
    <workspaceFilter version="1.0">
    <filter root="/apps/<appname>">
    <include pattern="/apps/<appname>(/.*)?"/>
    <exclude pattern="/apps/<appname>/install(/.*)?"/>
    </filter>
    ...

このフィルターにより、古いバンドルが削除され、代替がインストールされます。

注意:上記のコードの <appname> はアプリケーション名に置き換える必要があります。

適用対象

CQ5.3

参照

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

注意:

さらなる問題が実際に発生する場合は、CQ5.4 インストールにこの対処方法を適用しないでください。  CQ5.4 にこの問題が発生している場合は、Daycare チケットを送信してください。

アドビのロゴ

アカウントにログイン