自定义Jackson 2 ObjectMapper在Maven构建之后并不总是被使用?

时间:2014-07-18 14:38:03

标签: java maven jersey jackson

我们正在使用自定义Jackson 2 ObjectMapper,在序列化到POJO时忽略JSON请求中的无效属性。这个奇怪的事情发生在使用Maven构建之后,自定义ObjectMapper正在按预期使用,然后其他时间它不是(似乎使用默认值)。我们知道它不使用自定义属性的原因是在序列化期间不会忽略无效属性,并且在Jersey 2.9.1资源中返回400。有没有人知道为什么会发生这种情况以及如何解决它以便始终使用自定义映射器?

pom文件:

<!-- Start inherited dependencies -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.4.1.1</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.4.1.2</version>
</dependency>

1 个答案:

答案 0 :(得分:2)

对我而言,这听起来像是一个maven依赖项问题,有一次你的maven使用dep A的第1版,而另一次它使用dep A的第2版。最好的方法是检查你的依赖树并明确排除你所有不需要的版本pom文件。