当前位置: 首页 > 知识库问答 >
问题:

Karaf Bundle拾起一些旧的依赖

宇文卓
2023-03-14

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

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

然后,我在pom中将java-dogstatsd-client的版本更新为1.0.3。xml。创建了捆绑包。我正在使用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我看到了bundle的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版,我正在获取方法未找到错误

谁能告诉我:-

  1. 尽管我在pom中提到了1.0.3,但为什么dogstatsd客户端1.0.1会被安装。xml

环境:-

  • Karaf-3.0.5
  • Servicemix-6.1.0

共有1个答案

夏新翰
2023-03-14

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

 类似资料:
  • 我写了一个库,它依赖于Guava版本20.0(与JDK 1.7兼容的最后一个版本) 然后,我编写了一个使用该库的应用程序,还uk.org.lidalia: slf4j-test: 1.2.0(带有测试范围)。slf4j-test依赖于Guava的14.0.1版本。 我的问题是,我的应用程序将两个不同版本的Guava视为可传递依赖项,并选择较旧的版本。现在,当我调用库中的某些方法时,我会得到类或方法

  • 前面可以说是弄了一系列的 php socket 和多进程的一大坨内容,知识浅显、代码粗暴、风格简陋,总的说来,还是差了一些细节。今天,就一些漏掉的细节补充一下。 一些有志青年可能最近手刃了 Workerman 源码,对于里面那一大坨 stream_select()、stream_socket_server() 表示疑惑,这个玩意和 socket_create、socket_set_nonblock

  • 我一直被docker困住了,没有找到任何变化。所以我在几天前发布了我的应用程序V1.0.0.0,很明显,因为这是一种预发布,我仍然有一些bug修复要做,目前我已经在V1.0.5.0了。但出于某种原因,每次部署时,它似乎都运行旧映像,而不是包含bug修复的新映像。 当我想重新部署时,我通过删除文件并将新文件放入关闭容器的文件夹来覆盖文件: ,当一切准备就绪时,我将用以下代码再次启动它们: 这将删除所

  • 错误:找不到com.android.tools.build:gradle:3.4.1。在以下位置搜索:https://jcenter.bintray.com/com/android/tools/build/gradle/3.4.1/gradle-3.4.1.pom https://jcenter.bintray.com/com/android/tools/build/gradle/3.4.1/gr