我创建了一个使用JAX-RS生成JSON内容的RESTful Web服务,它使用了一些JPA实体,它在JBoss 7.1.3上运行。
调用此Web服务时出现以下错误消息:
13:23:11,834错误 [[jboss.web] org.apache.catalina.core.ContainerBase。[默认主机]。[/ ***** Web服务] [融为一体****** ******。 rest.config.ApplicationConfig] (http- / 127.0.0.1:8080-2)servlet的“Servlet.service()” com。******。******。rest.config.ApplicationConfig扔了一个 exception:java.lang.ClassNotFoundException: org.codehaus.jackson.map.JsonMappingException来自[Module 来自本地模块的“org.codehaus.jackson.jackson-mapper-asl:main” 装载机@ 6514af16(根: C:********** \ jboss-as-7.1.3.Final-bundled4STR \ modules)] at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) 在 org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) 在 org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) 在 org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) 在 org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) 在 org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:166) 在 org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112) 在 org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446) 在 org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150) 在 org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)
在尝试this solution之前,我用更新的版本替换了模块\ org \ codehaus \ jackson \ jackson-mapper-asl \ main \ jackson-mapper-asl-1.9.2.jar,我尝试了版本1.9.3和版本1.9.7。它没有帮助。
我将org.codehaus.jackson.jackson-mapper-asl添加到jboss-deployment-structure.xml中,但它没有解决我的问题。
我知道JBoss包含RESTeasy自第七版以来,至少有一家提供商使用jackson:org.jboss.resteasy.resteasy-jackson-provider。
当使用相同库的不同版本来编译和运行项目时,可能会发生这种错误,但我找不到罪魁祸首。我不会在我自己的代码中使用jackson。
这个bug是否来自JBoss?它是在以后的版本中修复的吗?切换到WildFly不是一种选择。