Have you tried excluding the conflicting transitive dependencies and adding 
them back with the correct version?

/anders

On Tuesday, October 21, 2014 12:11:18 PM UTC+2, Davide D'Alto wrote:
>
> > However, we do see in several places in your output that you have 
> mention of Neo4j 2.0.3 and Neo4j 2.1.5. Isn't this as simple as you having 
> upgraded from 2.0.3 to 2.1.5, and the older version is still in the local 
> maven repository, and maven is correctly omitting it as a duplicate? 
> Perhaps if you deleted .m2/repository and re-ran maven, the conflicts would 
> be cleared up?
>
> Nope, this is the dependencies tree of org.neo4j:neo4j:jar:2.1.5:
>
> [INFO] +*- org.neo4j:neo4j:jar:2.1.5:compile*
> [INFO] |  +- org.neo4j:neo4j-kernel:jar:2.1.5:compile
> [INFO] |  |  +- org.neo4j:neo4j-primitive-collections:jar:2.1.5:compile
> [INFO] |  |  \- 
> org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile
> [INFO] |  +- org.neo4j:neo4j-lucene-index:jar:2.1.5:compile
> [INFO] |  |  +- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted for 
> duplicate)
> [INFO] |  |  \- org.apache.lucene:lucene-core:jar:3.6.2:compile
> [INFO] |  +- *org.neo4j:neo4j-graph-algo:jar:2.1.5:compile*
> [INFO] |  |  \- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted for 
> duplicate)
> [INFO] |  +- org.neo4j:neo4j-udc:jar:2.1.5:compile
> [INFO] |  |  \- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted for 
> duplicate)
> [INFO] |  +- org.neo4j:neo4j-graph-matching:jar:2.1.5:compile
> [INFO] |  |  \- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted for 
> duplicate)
> [INFO] |  *+- org.neo4j:neo4j-cypher:jar:2.1.5:compile*
> [INFO] |  |  +- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted for 
> duplicate)
> [INFO] | |  +- (org.neo4j:neo4j-lucene-index:jar:2.1.5:compile - omitted 
> for duplicate)
> [INFO] | |  +- (org.neo4j:neo4j-graph-matching:jar:2.1.5:compile - 
> omitted for duplicate)
> [INFO] | |  +- (org.neo4j:neo4j-graph-algo:jar:2.1.5:compile - omitted 
> for duplicate)
> [INFO] | |  *+*- org.neo4j:neo4j-cypher-commons:jar:2.1.5:compile
> [INFO] | |  |  +- (org.neo4j:neo4j-kernel:jar:2.1.5:compile - omitted for 
> duplicate)
> [INFO] | |  |  +- 
> (com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.3.1:compile
>  
> - omitted for duplicate)
> [INFO] | |  |  \- (org.scala-lang:scala-library:jar:2.10.4:compile - 
> omitted for duplicate)
> [INFO] |  | * +- org.neo4j:neo4j-cypher-compiler-1.9:jar:2.0.3:compile*
> [INFO] |  |  |  +- (org.neo4j:neo4j-kernel:jar:2.0.3:compile - omitted for 
> conflict with 2.1.5)
> [INFO] |  |  |  +- (org.neo4j:neo4j-lucene-index:jar:2.0.3:compile - 
> omitted for conflict with 2.1.5)
> [INFO] |  |  |  +- (org.neo4j:neo4j-graph-matching:jar:2.0.3:compile - 
> omitted for conflict with 2.1.5)
> [INFO] |  |  |  +- *(org.neo4j:neo4j-graph-algo:jar:2.0.3:compile - 
> omitted for conflict with 2.1.5)*
> [INFO] |  |  |  \- (org.scala-lang:scala-library:jar:2.10.3:compile - 
> omitted for conflict with 2.10.4)
> [INFO] |  |  +- org.neo4j:neo4j-cypher-compiler-2.0:jar:2.0.3:compile
> [INFO] |  |  |  +- org.parboiled:parboiled-scala_2.10:jar:1.1.6:compile
> [INFO] |  |  |  |  \- (org.parboiled:parboiled-core:jar:1.1.6:compile - 
> omitted for duplicate)
> [INFO] |  |  |  +- net.sf.opencsv:opencsv:jar:2.0:compile
> [INFO] |  |  |  \- (org.scala-lang:scala-library:jar:2.10.3:compile - 
> omitted for conflict with 2.10.4)
> [INFO] |  |  +- org.neo4j:neo4j-cypher-compiler-2.1:jar:2.1.5:compile
> [INFO] |  |  |  +- (org.parboiled:parboiled-scala_2.10:jar:1.1.6:compile - 
> omitted for duplicate)
> [INFO] |  |  |  +- (net.sf.opencsv:opencsv:jar:2.3:compile - omitted for 
> conflict with 2.0)
> [INFO] |  |  |  \- (org.scala-lang:scala-library:jar:2.10.4:compile - 
> omitted for duplicate)
> [INFO] |  |  +- 
> com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.3.1:compile
> [INFO] |  |  \- org.scala-lang:scala-library:jar:2.10.4:compile
> [INFO] |  \- org.neo4j:neo4j-jmx:jar:2.1.5:compile
>
> If I'm not wrong  neo4j-graph-algo, for example, get included with two 
> different versions 2.0.3 and 2.1.5
>
>
>
> On Tue, Oct 21, 2014 at 10:46 AM, Davide D'Alto <[email protected] 
> <javascript:>> wrote:
>
>> Hi Craig,
>> the problem for me is that they have a transitive dependency with a 
>> different version of some libraries, like scala-library for example:
>>
>> org.neo4j:neo4j-cypher-compiler-1.9:jar:2.0.3 requires 
>> org.scala-lang:scala-library:jar:2.10.3:compile
>>
>> while
>>
>> org.neo4j:neo4j-cypher:jar:2.1.5:compile requires 
>> org.scala-lang:scala-library:jar:2.10.4:compile
>>
>> Basically, I'm wondering if there is a particular reason for them to 
>> require different versions of the same library since it seems that using 
>> the most up to date is ok for both
>>
>>
>> On Tue, Oct 21, 2014 at 10:31 AM, Craig Taverner <[email protected] 
>> <javascript:>> wrote:
>>
>>> Hi,
>>>
>>> My understanding is that these are not two versions of the same library 
>>> but the same version of two different libraries:
>>>
>>>    - org.neo4j:neo4j-cypher-compiler-*1.9*:jar:*2.0.3*
>>>    - org.neo4j:neo4j-cypher-compiler-*2.0*:jar:*2.0.3*
>>>    
>>> The version of both is *2.0.3*, the same. The libraries however have 
>>> different *names* (one is named 1.9 and one is named 2.0). Hence two 
>>> different libraries. Both part of Neo4j 2.0.3. This means, as Anders said, 
>>> that Neo4j 2.0.3 contains two levels of support for cypher.
>>>
>>> However, we do see in several places in your output that you have 
>>> mention of Neo4j 2.0.3 and Neo4j 2.1.5. Isn't this as simple as you having 
>>> upgraded from 2.0.3 to 2.1.5, and the older version is still in the local 
>>> maven repository, and maven is correctly omitting it as a duplicate? 
>>> Perhaps if you deleted .m2/repository and re-ran maven, the conflicts would 
>>> be cleared up?
>>>
>>> Regards, Craig
>>>
>>> On Tue, Oct 21, 2014 at 11:18 AM, Davide D'Alto <[email protected] 
>>> <javascript:>> wrote:
>>>
>>>> Right,
>>>> I didn't explain my problem properly, sorry.
>>>>
>>>> In our project we are using the maven enforcer plugin (
>>>> http://maven.apache.org/enforcer/maven-enforcer-plugin/) to check when 
>>>> two dependencies refer to different version of the same library.
>>>> With Neo4j this rule fails.
>>>>
>>>> Maven will try to solve this conflict quietly, but you can see them 
>>>> running
>>>>
>>>> mvn dependency:tree -Dverbose=true
>>>>
>>>> These are the conflicts caused by 
>>>> "org.neo4j:neo4j-cypher-compiler-1.9:jar:2.0.3" and 
>>>> "org.neo4j:neo4j-cypher-compiler-2.0:jar:2.0.3":
>>>>
>>>> [INFO] |  |  |  +- (org.neo4j:neo4j-kernel:jar:2.0.3:compile - omitted 
>>>> for conflict with 2.1.5)
>>>> [INFO] |  |  |  +- (org.neo4j:neo4j-lucene-index:jar:2.0.3:compile - 
>>>> omitted for conflict with 2.1.5)
>>>> [INFO] |  |  |  +- (org.neo4j:neo4j-graph-matching:jar:2.0.3:compile - 
>>>> omitted for conflict with 2.1.5)
>>>> [INFO] |  |  |  +- (org.neo4j:neo4j-graph-algo:jar:2.0.3:compile - 
>>>> omitted for conflict with 2.1.5)
>>>> [INFO] |  |  |  \- (org.scala-lang:scala-library:jar:2.10.3:compile - 
>>>> omitted for conflict with 2.10.4)
>>>> [INFO] |  |  |  \- (org.scala-lang:scala-library:jar:2.10.3:compile - 
>>>> omitted for conflict with 2.10.4)
>>>> [INFO] |  |  |  +- (net.sf.opencsv:opencsv:jar:2.3:compile - omitted 
>>>> for conflict with 2.0)
>>>>
>>>> Is there any particular reason to use different versions of the same 
>>>> library?
>>>>
>>>>
>>>> On Mon, Oct 20, 2014 at 11:20 PM, Anders Nawroth <
>>>> [email protected] <javascript:>> wrote:
>>>>
>>>>> How did you add org.neo4j:neo4j to the project?
>>>>> Any duplicates or conflicts should be resolved automatically, at least 
>>>>> when using Maven.
>>>>> The neo4j-cypher-compiler-* modules are special -- they add support 
>>>>> for the syntax from previous versions and are not duplicates.
>>>>>
>>>>> This is the final dependency tree I get, and there's no duplicates 
>>>>> left in it:
>>>>>
>>>>> org.neo4j:neo4j:jar:2.1.5
>>>>> +- org.neo4j:neo4j-kernel:jar:2.1.5:compile
>>>>> |  +- org.neo4j:neo4j-primitive-collections:jar:2.1.5:compile
>>>>> |  \- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile
>>>>> +- org.neo4j:neo4j-lucene-index:jar:2.1.5:compile
>>>>> |  \- org.apache.lucene:lucene-core:jar:3.6.2:compile
>>>>> +- org.neo4j:neo4j-graph-algo:jar:2.1.5:compile
>>>>> +- org.neo4j:neo4j-udc:jar:2.1.5:compile
>>>>> +- org.neo4j:neo4j-graph-matching:jar:2.1.5:compile
>>>>> +- org.neo4j:neo4j-cypher:jar:2.1.5:compile
>>>>> |  +- org.neo4j:neo4j-cypher-commons:jar:2.1.5:compile
>>>>> |  +- org.neo4j:neo4j-cypher-compiler-1.9:jar:2.0.3:compile
>>>>> |  +- org.neo4j:neo4j-cypher-compiler-2.0:jar:2.0.3:compile
>>>>> |  |  +- org.parboiled:parboiled-scala_2.10:jar:1.1.6:compile
>>>>> |  |  |  \- org.parboiled:parboiled-core:jar:1.1.6:compile
>>>>> |  |  \- net.sf.opencsv:opencsv:jar:2.0:compile
>>>>> |  +- org.neo4j:neo4j-cypher-compiler-2.1:jar:2.1.5:compile
>>>>> |  +- 
>>>>> com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.3.1:compile
>>>>> |  \- org.scala-lang:scala-library:jar:2.10.4:compile
>>>>> +- org.neo4j:neo4j-jmx:jar:2.1.5:compile
>>>>> \- com.sun.tools:tools:jar:1.7:system
>>>>>
>>>>> I don't know if the additional cypher-compiler libs could be made 
>>>>> optional, I've never looked into how they are loaded.
>>>>>
>>>>> /anders
>>>>>
>>>>>
>>>>> On Mon, Oct 20, 2014 at 7:28 PM, Davide D'Alto <[email protected] 
>>>>> <javascript:>> wrote:
>>>>>
>>>>>> Hi all,
>>>>>> when I include the artifact org.neo4j:neo4j in the project,
>>>>>> several other dependencies get added twice with different versions.
>>>>>>
>>>>>> This seems caused by the following dependencies: 
>>>>>> neo4j-cypher-compiler-1.9 and neo4j-cypher-compiler-2.0.
>>>>>>
>>>>>> For example I have:
>>>>>> org.neo4j:neo4j-lucene-index:2.0.3 and 2.1.5
>>>>>> net.sf.opencsv:opencsv:2.3 and 2.0
>>>>>> org.scala-lang:scala-library 2.10.4 and 2.10.3
>>>>>>
>>>>>> and so on ...
>>>>>>
>>>>>> Wouldn't be possible to uniform the dependencies and select just one 
>>>>>> version or at least make the cypher compiler libraries optional?
>>>>>> On exception at start up is thrown if I remove them.
>>>>>>
>>>>>> Thanks,
>>>>>> Davide
>>>>>>
>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "Neo4j" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>> send an email to [email protected] <javascript:>.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> -- 
>>>>> You received this message because you are subscribed to a topic in the 
>>>>> Google Groups "Neo4j" group.
>>>>> To unsubscribe from this topic, visit 
>>>>> https://groups.google.com/d/topic/neo4j/fDLiKEnKnAM/unsubscribe.
>>>>> To unsubscribe from this group and all its topics, send an email to 
>>>>> [email protected] <javascript:>.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Neo4j" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected] <javascript:>.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> -- 
>>> You received this message because you are subscribed to a topic in the 
>>> Google Groups "Neo4j" group.
>>> To unsubscribe from this topic, visit 
>>> https://groups.google.com/d/topic/neo4j/fDLiKEnKnAM/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to 
>>> [email protected] <javascript:>.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to