java - Jboss 7.1 中的 com.fasterxml.jackson.databind.JsonMappingException

标签 java jboss7.x

在迁移一些其余 Controller 后,我们已从 Jboss 6 迁移到 JBoss 7,同时发送 Json 时出现以下错误:

引起:com.fasterxml.jackson.databind.JsonMappingException:直接自引用导致循环(通过引用链:java.util.ArrayList[0]->com.listgroup.ready.service.config.Domain[ “class1”]->java.util.Collections$UnmodifyingRandomAccessList[0]->com.listgroup.ready.service.config.Table[“class2”]->java.util.Collections$UnmodifyingRandomAccessList[0]->com. listgroup.ready.service.config.Column["class3"]->com.listgroup.骨骼.FieldType["class4"]->com.listgroup.骨骼.FieldType["class4"]) 在 com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:284) 在 com.fasterxml.jackson.databind.SerializerProvider.mappingException(SerializerProvider.java:1110) 在com.fasterxml.jackson.databind.SerializerProvider.reportMappingProblem(SerializerProvider.java:1135) 在 com.fasterxml.jackson.databind.ser.BeanPropertyWriter._handleSelfReference(BeanPropertyWriter.java:921)

这也不会为 tomcat 复制。

最佳答案

我从日志中发现Jboss正在使用自己的库而不是WEB-INF/lib库。

为了避免这种情况,我在 WEB-INF 中添加了 jboss-deployment-struct.xml 文件。 jboss-deployment-struct.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>

关于java - Jboss 7.1 中的 com.fasterxml.jackson.databind.JsonMappingException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59169630/

相关文章:

java - JBoss AS 7.1 不接受远程连接

java - Android:当应用程序未运行或在后台时将 Firebase 推送通知保存到磁盘

java - 如何在同一个java webapp上使用不同的子域

java - GWT:何时使用 AsyncProxy<T> 而不是 AsyncProvider<T,F>?

java - weld-osgi 入门

web-applications - JBoss AS 7 在不同的 http 端口上有两个 web 应用程序?

java - ArrayList修改 "get"方法返回的值

java - 迭代 nextLine 函数的问题

deployment - JBoss AS 7 - 按特定顺序部署 war

java - JBoss AS7 中的系统属性