gpt4 book ai didi

java - Karaf 包加载优先级

转载 作者:行者123 更新时间:2023-11-30 02:47:59 33 4
gpt4 key购买 nike

我有一个关于 karaf 和功能加载的问题。我有一个 kar 文件,其中包含我的应用程序的所有 bundle 。它在PROD环境上发布。它是基于版本 4.0.4 的自定义构建离线 Karaf - 并且 KAR 文件位于部署文件夹中。我想制作一个补丁来覆盖一个或多个相同的包。由于某些政策,无法选择发布新版本的 kar。我的问题是:

  1. 引用特定版本的 bundle 的功能文件。如果我将它们以相同的版本放入/deploy,JAR 将被使用,还是不确定?
  2. 当我将 bundle 的较新版本(次要版本更改)放入/deploy 时,是使用它还是特定功能定义的版本?或者也许该行为是不确定的?
  3. 当 1 或 2 没有确定性解时,还有其他解吗?

最佳答案

1a。功能文件中引用的包将从可用存储库(通常是 Maven 存储库)加载。部署/文件夹不是存储库。部署/文件夹中的任何内容都会立即加载。

1b。如果已经加载了具有匹配符号名称+版本的包,并且功能文件指定了第二个版本,则 Karaf 将不会加载它。将要加载的功能和 bundle 的功能定义视为“如果尚不存在则加载它”

  • 如果是第二个文件,它将作为第二个包部署。可以说, bundle 的唯一“ key ”是基于 MANIFEST.MF 中的值的符号名称 + 版本。

  • 不适用。它是确定性的。

  • 关于java - Karaf 包加载优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39579795/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com