Jboss Jackson JSON罐子不是';他在卡拉夫工作

Jboss Jackson JSON罐子不是';他在卡拉夫工作,jboss,apache-camel,osgi,apache-karaf,karaf,Jboss,Apache Camel,Osgi,Apache Karaf,Karaf,我有一个非常简单的路径,它有一个导入jackson核心和jackson数据绑定的bean 我以前从来没有犯过这样的错误,也不知道该怎么办 左边是我的JBOSS开发者POM jars。 右上角是卡拉夫的杰克逊罐子。 右下角是卡拉夫例外 您没有在卡拉夫部署jackson捆绑包。pom中的依赖项仅适用于构建时。与您对jackson类的使用一起,它们用于在捆绑包清单中创建导入包语句 然后,这些语句告诉karaf您在运行时需要什么,但它们不会自动安装。因此,请尝试使用其mvn URL安装jackson捆绑

我有一个非常简单的路径,它有一个导入jackson核心和jackson数据绑定的bean

我以前从来没有犯过这样的错误,也不知道该怎么办

左边是我的JBOSS开发者POM jars。 右上角是卡拉夫的杰克逊罐子。 右下角是卡拉夫例外


您没有在卡拉夫部署jackson捆绑包。pom中的依赖项仅适用于构建时。与您对jackson类的使用一起,它们用于在捆绑包清单中创建导入包语句


然后,这些语句告诉karaf您在运行时需要什么,但它们不会自动安装。因此,请尝试使用其mvn URL安装jackson捆绑包。或者,您可以在camel特性中找到它们。

您没有在karaf中部署jackson包。pom中的依赖项仅适用于构建时。与您对jackson类的使用一起,它们用于在捆绑包清单中创建导入包语句


然后,这些语句告诉karaf您在运行时需要什么,但它们不会自动安装。因此,请尝试使用其mvn URL安装jackson捆绑包。或者,您也可以在camel特性中找到它们。

如果仔细查看活动捆绑包的karaf列表,您应该会发现,唯一的活动
jackson core
捆绑包具有捆绑包版本
2.6.3

从错误消息中,我们可以看到框架正在查找范围为
[2.8,3)
的包
com.fasterxml.jackson.core

由于恰好是
jackson core
的版本
2.6.3
导出此软件包的版本
2.6.3
,因此解析程序找不到匹配项

顺便说一句,仅使用截至3月初的最新数据,该软件包的三个版本引入了潜在的突破性变化:

 new_version | old_version | version_delta | differ_delta | severity  
-------------+-------------+---------------+--------------+-----------
 2.8.2       | 2.8.1       | MICRO         | MAJOR        | Incorrect
 2.9.0.pr1   | 2.9.0       | CHANGED       | MAJOR        | Incorrect
 2.9.2       | 2.9.1       | MICRO         | MAJOR        | Incorrect
这个包的2.8.1版本绝对是向后二进制兼容的(因为内容是按位相同的:-)

另外还有三个版本在范围
[2.6,2.8]
中有可能出现突破性的更改,因此您应该确保使用当前部署版本的任何捆绑包不受任何潜在更改的影响

请注意,如果部署更新的捆绑包,则当前有线用户在刷新或重新启动服务器之前不会受到影响


(为什么是的,是的,我目前正在对maven central上捆绑包的OSGI版本控制的可靠性进行分析)。

如果仔细查看活动捆绑包的karaf列表,您应该会发现,唯一的活动
jackson core
捆绑包具有捆绑包版本
2.6.3

从错误消息中,我们可以看到框架正在查找范围为
[2.8,3)
的包
com.fasterxml.jackson.core

由于恰好是
jackson core
的版本
2.6.3
导出此软件包的版本
2.6.3
,因此解析程序找不到匹配项

顺便说一句,仅使用截至3月初的最新数据,该软件包的三个版本引入了潜在的突破性变化:

 new_version | old_version | version_delta | differ_delta | severity  
-------------+-------------+---------------+--------------+-----------
 2.8.2       | 2.8.1       | MICRO         | MAJOR        | Incorrect
 2.9.0.pr1   | 2.9.0       | CHANGED       | MAJOR        | Incorrect
 2.9.2       | 2.9.1       | MICRO         | MAJOR        | Incorrect
这个包的2.8.1版本绝对是向后二进制兼容的(因为内容是按位相同的:-)

另外还有三个版本在范围
[2.6,2.8]
中有可能出现突破性的更改,因此您应该确保使用当前部署版本的任何捆绑包不受任何潜在更改的影响

请注意,如果部署更新的捆绑包,则当前有线用户在刷新或重新启动服务器之前不会受到影响


(为什么是的,是的,我目前正在对maven central上捆绑包的OSGI版本控制的可靠性进行分析)。

我通过安装以下jackson捆绑包解决了这个问题(在我的pom中,我使用了所有版本2.9.9的软件包)

和pom.xml:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.9</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.9</version>
  <type>jar</type>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.9</version>
</dependency>

com.fasterxml.jackson.core
杰克逊核心
2.9.9
com.fasterxml.jackson.core
杰克逊数据绑定
2.9.9
罐子
com.fasterxml.jackson.core
杰克逊注释
2.9.9

此解决方案帮助我使用Jackson软件包运行包。

我通过安装以下Jackson软件包解决了此问题(在我的pom中,我使用了所有版本2.9.9的软件包)

和pom.xml:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.9</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.9</version>
  <type>jar</type>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.9</version>
</dependency>

com.fasterxml.jackson.core
杰克逊核心
2.9.9
com.fasterxml.jackson.core
杰克逊数据绑定
2.9.9
罐子
com.fasterxml.jackson.core
杰克逊注释
2.9.9

此解决方案帮助我使用Jackson软件包运行捆绑包。

Simon,谢谢您提供的信息。您能否帮助我并告诉我如何为Maven添加正确的REPO以自动将其安装到Karaf中?Simon,谢谢您提供的信息。您能否帮我并告诉我如何将Maven的正确REPO添加到autom中将它们安装到卡拉夫。?