hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-8104) Inconsistent Jackson versions
Date Sat, 25 Feb 2012 00:21:52 GMT

    [ 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

        

Mime
View raw message