我已经尝试了SO this和this以及其他许多解决方案提供的所有解决方案,但似乎没有解决我的问题。我得到了以下异常
com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy - no Session (through reference chain: java.util.ArrayList[0]-
我不知道为什么春天使用fasterxml.jackson
,而之前的版本使用codehaus
上一个春季版3.1.2。发布 当前春季版4.1.6。发布
答案 0 :(得分:3)
您应该与您发布的链接中建议的完全相反,因此将杰克逊课程的套餐从org.codehaus.jackson
更改为com.fasterxml.jackson
从 Spring Framework 4.1 开始,最小的jackson版本应为2.1 (2.3 recommended)。相关的变化,以及你的问题的可疑原因是,杰克逊2.x也有一个包裹转移
- 使用的Java包是" com.fasterxml.jackson" (而不是" org.codehaus.jackson")
- Maven group ID以" com.fasterxml.jackson"开头。 (而不是" org.codehaus.jackson")
如果您正在使用maven,只需用这一个替换当前的jackson依赖项
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
答案 1 :(得分:0)
较早版本的Spring使用了Jackson 1.9,它在org.codehaus.jackson包中有类。 Spring 4.1.6.Release使用Jackson 2.x,它的类在com.fasterxml.jackson包中。因此,简单地忽略旧注释。