【问题标题】:Karaf Bundle picking up some old dependencyKaraf Bundle 拾取一些旧的依赖项
【发布时间】:2016-07-01 14:16:12
【问题描述】:

在我的 Karaf 包中,我有一个依赖项,如下所述:-

<dependency>
   <groupId>com.github.arnabk</groupId>
   <artifactId>java-dogstatsd-client</artifactId>
   <version>1.0.1</version>
</dependency>

然后我将pom.xml中的java-dogstatsd-client的版本更新为1.0.3。创建了捆绑包。我使用的是KAR 包装,但是在将捆绑包放入 Karaf 之后。我看到它正在导入库的 1.0.1 版本。但是,如果我将带有 1.0.3 版本的 java-dogstatsd-client 的捆绑包放在新的 Karaf 实例中,一切都会按预期进行。以下是我从 Karaf Web 控制台看到的导入:-

com.github.arnabk.statsd,version=0.0.0 from wrap_mvn_com.github.arnabk_java-dogstatsd-client_1.0.1 (262)
com.mysql.jdbc,version=0.0.0 from wrap_mvn_mysql_mysql-connector-java_5.1.6 (270)
com.sun.jna,version=0.0.0 from com.sun.jna (264) -- Overwritten by Boot Delegation
com.timgroup.statsd,version=0.0.0 from wrap_mvn_com.github.arnabk_java-dogstatsd-client_1.0.1 (262)

同时检查 bundle:list 我看到的是 1.0.1 版本的捆绑包:-

karaf@root>bundle:list | grep dog*
262 | Active |  80 | 0                                  | wrap_mvn_com.github.arnabk_java-dogstatsd-client_1.0.1

因为我的包选择了 dogstatsd 客户端的 1.0.1 版,所以我收到了 Method Not Found Error

谁能告诉我:-

  1. 为什么我已经安装了 dogstatsd-client 1.0.1 在 pom.xml 中提到了 1.0.3?
  2. 如何让我的 bundle 安装和使用 dogstatsd-client 的 1.0.3 版?

环境:-

  • 卡拉夫 - 3.0.5
  • Servicemix - 6.1.0

【问题讨论】:

    标签: apache-karaf apache-servicemix


    【解决方案1】:

    移至Servicemix 7.0.0.M2 下的Karaf 4.0.5。我没有看到这个问题。

    【讨论】:

      猜你喜欢
      • 2019-06-08
      • 2021-11-18
      • 2017-07-17
      • 2021-12-25
      • 2019-03-29
      • 1970-01-01
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多