Karaf Bundle 拾起一些旧的依赖

Karaf Bundle picking up some old dependency

在我在 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。创建 bundle.I am 使用 KAR 包装,但在将包放入 Karaf 之后。我看到它正在导入库的 1.0.1 版。但是,如果我将带有 java-dogstatsd-client 的 1.0.3 版本的捆绑包放在一个新的 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. 如何让我的包安装和使用 1.0.3 版的 dogstatsd-client?

环境:-

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