@JsonIgnore升级到spring 4.1.6后无法正常工作

时间:2015-04-27 06:58:01

标签: java spring spring-mvc

我已经尝试了SO thisthis以及其他许多解决方案提供的所有解决方案,但似乎没有解决我的问题。我得到了以下异常

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。发布

2 个答案:

答案 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包中。因此,简单地忽略旧注释。