【问题标题】:Apache Karaf 2.2.3, featuresBoot issueApache Karaf 2.2.3,功能启动问题
【发布时间】:2011-09-13 17:36:24
【问题描述】:

Karaf 2.2.3 最近发布,终于有一个预捆绑的 spring-jms 功能。为了让生活更轻松,我将它添加到 featuresBoot 配置属性中,并使用其他默认值:

featuresBoot=config,ssh,management,spring-jms

但是,当我启动 Karaf 时,它的行为无法控制。有时它会在启动时安装,有时则不会。当它不自动安装时,我尝试通过命令行添加它:

features:install spring-jms

即使这样也很疯狂。见下文:

karaf@root> features:install spring-jms
Error executing command: java.lang.IllegalArgumentException

karaf@root> features:install spring-jms
Error executing command: invalid entry size (expected 3293 but got 16823 bytes)

karaf@root> features:install spring-jms
Error executing command: Manifest not present in the first entry of the zip mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0_5

karaf@root> features:install spring-jms
Refreshing bundles org.springframework.context.support (50)
Error executing command: Could not start bundle mvn:org.eclipse.jetty/jetty-client/7.4.5.v20110725 in feature(s) jetty-7.4.5.v20110725: Unresolved constraint in bundle org.eclipse.jetty.client [83]: Unable to resolve 83.0: missing requirement [83.0] package; (&(package=org.eclipse.jetty.http)(version>=7.4.0)(!(version>=8.0.0)))

karaf@root> features:install spring-jms
Refreshing bundles org.springframework.context.support (50)

这些是安装命令的背靠背执行。最后一次执行有效。

其他人看到这种行为吗?或者知道如何改正?

【问题讨论】:

    标签: apache-karaf spring-jms


    【解决方案1】:

    托尼,

    首先,确保您使用的是正确的 Java 版本,我使用的是 jdk 1.6_24。使用它时,没有安装其他捆绑包(全新安装),它会正确安装。如果我是你我会: 1) 尝试安装新的 Karaf 实例, 2) 将您的 Maven 存储库复制到新位置,并且 3) 在全新安装中运行 Karaf, 4)再次安装spring-jms。

    如果这不起作用,请回复此问题并让我知道您的环境,以及您的 karaf 日志文件中生成的所有异常。

    【讨论】:

    • 所以我擦除了我的安装。从股票 Karaf (jdk1.6.0_26) 安装 spring-jms 时没有任何堆栈跟踪。所以我关闭并将 spring-jms 添加到 featuresBoot 并且没有堆栈跟踪。目前,它“似乎”正在工作。我无法想象它以某种方式被损坏了,因为这意味着我的 Maven 仓库中的罐子也被损坏了?
    • 绝对有可能。作为 karaf 贡献者,我有机会对 Karaf 的每个版本进行投票,这需要编译它启动它,然后使用它。在这个过程中,我发现有时损坏的文件会进入我的存储库,而从一个新的存储库开始可以缓解这个问题。此外,可能不是 .jars 已损坏,在将 .jars 安装到您的存储库中的许多地方,该过程可能会停止,从而导致出现损坏的 .jar 文件时可能实际上是一个不完整的 pom 或其他东西。
    • 我保留了我的存储库。我重新添加了我的设置。在关闭和重新启动 Karaf 之前,我遇到了很多问题。所以,也许我在测试时需要不那么苛刻。
    • 如果您的 Karaf 实例看起来已损坏,您可以使用 clean 选项运行最新版本以清除累积的任何状态。 ./bin/karaf clean
    • 我总是使用 clean 选项运行。这似乎没有帮助。我再次处于未正确安装 spring-jms 的状态。
    【解决方案2】:

    您是否正在使用自定义的 org.ops4j.pax.url.mvn.cfg?我是,它导致了一个巨大的启动时竞争条件问题,导致功能偶尔无法加载。

    看看https://issues.apache.org/jira/browse/KARAF-910“FeatureService 和 ConfigAdmin 之间的竞赛以解决 mvn: URLs?”

    【讨论】:

      猜你喜欢
      • 2021-11-10
      • 2020-07-16
      • 2012-07-23
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      • 2015-07-24
      • 1970-01-01
      相关资源
      最近更新 更多