[ 
https://issues.apache.org/jira/browse/HADOOP-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13216157#comment-13216157
 ] 

Enis Soztutar commented on HADOOP-8104:
---------------------------------------

bq. You should not exclude those jackson artifacts that jersey pulls in unless 
you are 100% certain they are not use by jersey. If you do the exclusion, no 
artifact will come at all (this is for ackson-core-asl/jackson-jaxrs/jackson-xc)
If we are going to add jackson-(core-asl|jaxrs|xc) as explicit dependencies in 
pom, then we should exclude them from jersey so that jersey does not bring it's 
own versions. I am not suggesting just excluding them, but not adding them to 
pom. 
bq. Regarding about conflicting versions, Maven version resolution rules may 
seem complicated but they are very precise and predictable.
Not a maven expert myself, that is what was discussed in the linked 
StackOverflow question. But in any case, we shouldn't create a version conflict 
in the first place. 
                
> 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