【问题标题】:osgi bundles version in felix after package uninstall in aem在 aem 中卸载软件包后,osgi 在 felix 中捆绑版本
【发布时间】:2015-07-20 05:35:36
【问题描述】:

在 aem 中卸载软件包后,我对 felix 控制台中的 osgi bundles 版本有疑问。构建计划是使用构建版本(如 1.13.1 然后 1.13.2 等)逐步安装软件包。

如果安装了包package-1.13.4.zip;其中有一个捆绑包bundle-1.13.4.jar

卸载后package-1.13.4.zip;据我了解; bundle-1.13.4.jar 应该从 apps/myproject/install 以及 felix 控制台中删除;应该安装在 felix 控制台中的包应该是bundle-1.13.3.jar;因为它是 1.13.4 之前安装的版本

但是当我卸载 package-1.13.4.zip 时;既不会从apps/myproject/install 中删除bundle-1.13.4.jar,也不会从felix 控制台中删除bundle-1.13.4.jar。我的理解有问题吗?

【问题讨论】:

    标签: aem


    【解决方案1】:

    这里有几件事可能是问题:

    1) 检查您的包是否在过滤器列表中有 /apps/myproject/install。如果路径 /apps/myproject/install 在包的过滤器列表中,则卸载包 package-1.13.4.zip 只会删除包 bundle-1.13.4.jar。

    2) 检查您的部署脚本。可能存在未使用 JCRInstaller 安装您的包的​​情况。仅当使用 /apps/myproject/install 安装捆绑包时,才会卸载您的捆绑包。如果您的 jenkins/maven 脚本直接使用 felix 控制台或 /system/console/ 安装了您的包,那么卸载 pacakge 将不会卸载该包。

    如果您想确保在卸载软件包时您的捆绑软件也应该被卸载,请执行以下操作:

    1) 使用 Maven sling 插件 - 这将确保您的包安装在 /apps//install 中。

    2) 确保您的部署脚本在 /apps//install 安装包并直接上传到 felix 控制台。

    【讨论】:

    • 使用 maven 脚本中的 JCRInstaller 安装包。该脚本使用 sling 插件的“安装”目标,并提供 sling url 作为 localhost:4502 和 slingurlsuffix 作为 /apps/myproject/install。在filter.xml中; /apps/myproject/install 已使用 排除。这是捆绑包没有被卸载的原因吗?排除捆绑包的原因可能是什么?我们希望在卸载软件包后从 felix 中删除捆绑包,对吗?
    【解决方案2】:

    卸载package-1.13.4.zip后;据我了解; bundle-1.13.4.jar 应该从 apps/myproject/install 以及 felix 控制台中删除;应该在 felix 控制台中安装的包应该是 bundle-1.13.3.jar;因为它是 1.13.4 之前安装的版本

    卸载捆绑包不会在 felix 控制台中恢复其以前的版本,并且它在任何时候都只维护一个捆绑包版本。此外,构建安装旧版本不会替换已安装的现有更高版本。如果 SNAPSHOT 已从版本名称中删除,则卸载后无法构建安装它。

    【讨论】:

      猜你喜欢
      • 2020-07-29
      • 2014-11-21
      • 2015-01-18
      • 1970-01-01
      • 2016-01-15
      • 2011-05-31
      • 2014-11-10
      • 2014-02-20
      • 1970-01-01
      相关资源
      最近更新 更多