这与大多数Spring用户要求做的相反,但我想知道是否有可能指定Jackson 1.9.7被Spring(3.1.2)和NOT Jackson 2+使用。
我正在开发的项目依赖于其他使用Jackson 2的项目,因此它会成为传递依赖项。从那里Spring选择它来处理JSON序列化。由于我创建的自定义注释要求Jackson版本为1.9.7,这反过来使我的应用程序变得麻烦。
答案 0 :(得分:1)
不确定这是否有帮助,但请注意,您还可以在值类中添加Jackson 1和Jackson 2注释。我在工作中做到了这一点,以帮助从Jackson 1.9过渡到Jackson 2.x.事实上,代码的不同部分使用不同的版本:首先迁移单元测试辅助方法,然后逐段迁移生产代码。
与库版本一样,使用两组注释并非最佳,但这样做有助于降低版本升级的风险。
最后,也可以使用可以使用两组注释的AnnotationIntrospector
(我手头没有链接,但我知道他创建的Jackson用户发布的版本);通常杰克逊2 JacksonAnnotationIntrospector
也承认杰克逊1注释。这样可以避免重复注释,并且可以先升级代码,然后转换注释。