Karaf Bundle捡起了一些旧的依赖

时间:2016-07-01 14:16:12

标签: apache-karaf apache-servicemix

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

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

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

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. 如何安装我的软件包并使用版本1.0.3版本的dogstatsd-client?
  3. 环境: -

    • Karaf - 3.0.5
    • Servicemix - 6.1.0

1 个答案:

答案 0 :(得分:0)

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