![](/img/trans.png)
[英]com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion
[英]com.fasterxml.jackson.databind.JsonMappingException In Jboss 7.1
我们已经从 Jboss 6 迁移到 JBoss 7 后,在发送 Json 时我们收到了以下错误:
引起:com.fasterxml.jackson.databind.JsonMappingException:直接自引用导致循环(通过引用链:java.util.ArrayList[0]->com.listgroup.ready.service.config.Domain["class1" ]->java.util.Collections$UnmodifiableRandomAccessList[0]->com.listgroup.ready.service.config.Table["class2"]->java.util.Collections$UnmodifiableRandomAccessList[0]->com.listgroup.ready .service.config.Column["class3"]->com.listgroup.skeleton.FieldType["class4"]->com.listgroup.skeleton.FieldType["class4"]) 在 com.fasterxml.jackson.databind.JsonMappingException .from(JsonMappingException.java:284) at com.fasterxml.jackson.databind.SerializerProvider.mappingException(SerializerProvider.java:1110) at com.fasterxml.jackson.databind.SerializerProvider.reportMappingProblem(SerializerProvider.java:1135) at com。 fastxml.jackson.databind.ser.BeanPropertyWriter._handleSelfReference(BeanPropertyWriter.java:921)
这也不会为 tomcat 复制。
我从日志中发现 Jboss 正在使用他们自己的库而不是 WEB-INF/lib 库。
为了避免这种情况,我在 WEB-INF 中添加了 jboss-deployment-structure.xml 文件。 jboss-deployment-structure.xml 文件的内容是:
<?xml version='1.0' encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="com.fasterxml.jackson.core.jackson-databind" />
<module name="com.fasterxml.jackson.core.jackson-annotations" />
<module name="com.fasterxml.jackson.core.jackson-core" />
<module name="com.fasterxml.jackson.datatype.jackson-datatype-jdk8" />
<module name="com.fasterxml.jackson.datatype.jackson-datatype-jsr310" />
<module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
<module name="org.jboss.resteasy.resteasy-jackson2-provider" />
<!-- end of logger service exclusions -->
</exclusions>
</deployment>
</jboss-deployment-structure>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.