首页 > 解决方案 > Jackson JSON jars 在 Karaf 中不起作用

问题描述

我有一个非常简单的路由,它有一个导入 jackson-core 和 jackson databind 的 bean。

我以前从未遇到过这些 Karaf 错误,也不知道该怎么做。

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

在此处输入图像描述

标签: jbossapache-camelosgiapache-karafkaraf

解决方案


如果您仔细查看活动包的 karaf 列表,您应该会看到唯一的活动jackson-core包具有 bundle version 2.6.3

从错误信息中,我们可以看到框架正在寻找com.fasterxml.jackson.core范围内的包的版本[2.8,3)

由于恰好是该软件包2.6.3jackson-core导出版本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 版本绝对是向后二进制兼容的(因为内容是按位相同的:-)

还有另外三个版本在 range 中可能会发生重大更改 [2.6,2.8],因此您应该确保使用当前部署版本的任何捆绑包都不受任何潜在更改的影响。

请注意,如果您部署更新的捆绑包,则在刷新或重新启动服务器之前,当前连接的消费者不会受到影响。

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


推荐阅读