hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alejandro Abdelnur (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-8104) Inconsistent Jackson versions
Date Thu, 23 Feb 2012 21:33:48 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Alejandro Abdelnur updated HADOOP-8104:

    Attachment: HADOOP-7470.patch

There is no need to bump up jersey to get the right version of jackson. What you need to do
is to define explicitly in the dependencymanagement section in hadoop-project/pom.xml the
version of the jackson you want for the jackson artifacts not directly used by Hadoop (but
brought it by jersey).

The attached patch adds jackson-core-asl/jackson-jaxrs/jackson-xc versions 1.8.8 to the dependencymanagement

I've run a 'mvn dependency:tree' for the whole project and only jackson 1.8.8 artifacts are
being resolved with this patch.
> 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
> 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


View raw message