[ 
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 section.

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 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

        

Reply via email to