[
https://issues.apache.org/jira/browse/HADOOP-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13215250#comment-13215250
]
Colin Patrick McCabe commented on HADOOP-8104:
----------------------------------------------
Hi Alejandro,
I have confirmed that the patch you attached also solves the problem. With it,
I only get jackson 1.8.8 .jar files in my install directory-- no 1.7.1 jars.
I guess the unanswered question is whether Jersey 1.8 can handle Jackson 1.8.8,
which is not what it was originally designed to work against.
It seems that we both proposed patches that solve the problem. I don't have a
strong preference for which fix we take. I do feel that we should add a unit
test to keep this from happening again. It seems that serializing a map is
sufficient to expose this particular version skew problem.
> Inconsistent Jackson versions
> -----------------------------
>
> Key: HADOOP-8104
> URL: https://issues.apache.org/jira/browse/HADOOP-8104
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: Colin Patrick McCabe
> Assignee: Colin Patrick McCabe
> Attachments: HADOOP-7470.patch, HADOOP-8104.patch,
> dependency-tree-old.txt
>
>
> This is a maven build issue.
> Jersey 1.8 is pulling in version 1.7.1 of Jackson. Meanwhile, we are
> manually specifying that we want version 1.8 of Jackson in the POM files.
> This causes a conflict where Jackson produces unexpected results when
> serializing Map objects.
> How to reproduce: try this code:
> {quote}
> ObjectMapper mapper = new ObjectMapper();
> Map<String, Object> m = new HashMap<String, Object>();
> mapper.writeValue(new File("foo"), m);
> {quote}
> You will get an exception:
> {quote}
> Exception in thread "main" java.lang.NoSuchMethodError:
> org.codehaus.jackson.type.JavaType.isMapLikeType()Z
> at
> org.codehaus.jackson.map.ser.BasicSerializerFactory.buildContainerSerializer(BasicSerializerFactory.java:396)
> at
> org.codehaus.jackson.map.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:267)
> {quote}
> Basically the inconsistent versions of various Jackson components are causing
> this NoSuchMethod error.
> As far as I know, this only occurs when serializing maps-- that's why it
> hasn't been found and fixed yet.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira