Java 部署到JBOSS后忽略Jackson注释
我有一个使用两个Jackson注释的类:Java 部署到JBOSS后忽略Jackson注释,java,maven,jboss,jackson,Java,Maven,Jboss,Jackson,我有一个使用两个Jackson注释的类: @JsonIgnoreProperties(ignoreUnknown = true) public class MyObject{ @JsonProperty(value = "fooVal") private String foo; public MyObject(){} public String getFoo() { return foo; } public
@JsonIgnoreProperties(ignoreUnknown = true)
public class MyObject{
@JsonProperty(value = "fooVal")
private String foo;
public MyObject(){}
public String getFoo() {
return foo;
}
public void setFoo(String foo) {
this.foo = foo;
}
}
当我在测试用例中使用ObjectMapper
将接收到的JSON映射到本地环境中的MyObject
时,它可以正常工作,但是如果我将模块部署到JBOSS,因为所有注释都被忽略了,我不知道为什么
Mypom.xml
具有依赖性:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
</dependency>
org.codehaus.jackson
杰克逊地图绘制者
因此,库将导入到部署中的WAR文件夹中
为什么在部署后会忽略注释?问题是由于自动导入旧版本的Jackson而导致库冲突。 解决办法包括:
<exclusions>
<module name="org.codehaus.jackson.jackson-core-asl" />
<module name="org.codehaus.jackson.jackson-mapper-asl" />
</exclusions>
进入部署标记中的jboss部署结构.xml
其他开发人员的重要提示:
使用新库时,请考虑应用程序服务器的firstclass/lastclass(类加载顺序首选项)设置:,问题在于自动导入旧版本的Jackson导致库冲突。 解决办法包括:
<exclusions>
<module name="org.codehaus.jackson.jackson-core-asl" />
<module name="org.codehaus.jackson.jackson-mapper-asl" />
</exclusions>
进入部署标记中的jboss部署结构.xml
其他开发人员的重要提示:
在使用新库时,请考虑应用程序服务器的firstclass/lastclass(类加载顺序首选项)设置:,库可能会冲突-如果您使用的是JBoss 7,它已经有了(旧版本的)Jackson作为RestEasy的一部分。@Gimby我曾尝试在没有libs的情况下重新部署战争,但行为没有改变,很不幸。@Gimbly实际上我不得不在jboss部署结构中排除它。。非常感谢你给我指明了正确的方向!库冲突可能-如果您使用JBoss 7,它已经有(旧版本的)Jackson作为RestEasy的一部分。@Gimby我尝试在没有libs的情况下重新部署war,但行为没有改变,很遗憾。@Gimbly实际上我不得不在JBoss部署结构中排除它。。非常感谢你给我指明了正确的方向!