Paolo,

I believe this isn't related to your pom setup in the repo, things work fine 
with regular java builds, jar packaging, etc.... it has something to do with 
maven's webapp packaging, which isn't following tansitive dependencies.  I'll 
report back when I've figured out what I'm doing wrong.

Taylor




________________________________
From: Paolo Castagna <[email protected]>
To: "[email protected]" <[email protected]>
Cc: [email protected]
Sent: Wednesday, February 4, 2009 9:58:27 AM
Subject: Re: [jena-dev] SDB maven depends


Taylor Cowan wrote:
> I have maven'ized my builds on jena, putting away my long time friend 
> ant, and as far as jena proper, all is well, however, when I use SDB 
> like this:
> 
> <dependency>
> <groupId>com. hp.hpl.jena< /groupId>
> <artifactId> sdb</artifactId>
> <version>1.2. 0</version>
> </dependency>
> 
> Maven only brings down jena-2.5.7. I've fixed this by adding a direct 
> dependency reference to Jena in my pom.xml. Is that expected, or should 
> maven see sdb, get jena, then follow the transitive dependencies as well?

Taylor could you try to run:

mvn dependency:purge- local-repository dependency:tree

and tell me if this helps?

If not, could you try to manually clean your Maven local repository?

Remove .m2/repository/ com/hp/hpl/ jena/ and try again

mvn dependency:tree

Does this help?

Paolo

- o -

Long version (read only if you use SDB and Maven).

SDB v1.2.0, according to [1], depends on:

group id artifact id version scope
------------ ------ ------------ ---- ---------- ------------ --------- -
com.hp.hpl.jena arq 2.6.0 unspecified => compile
com.hp.hpl.jena arq-extra 2.6.0 unspecified => compile
junit junit 4.4 test
------------ ------ ------------ ---- ---------- ------------ --------- -

ARQ v1.2.0, according to [2], depends on:

group id artifact id version scope
------------ ------ ------------ ---- ---------- ------------ --------- -
com.hp.hpl.jena jena 2.5.7 unspecified => compile
org.apache.lucene lucene-core 2.3.1 unspecified => compile
stax stax-api 1.0 unspecified => compile
woodstox wstx-asl 3.0.0 unspecified => compile
com.hp.hpl.jena json-jena 1.0 unspecified => compile
------------ ------ ------------ ---- ---------- ------------ --------- -

ARQ Extra v2.6.0, according to [3], depends on:

group id artifact id version scope
------------ ------ ------------ ---- ---------- ------------ --------- -
com.hp.hpl.jena arq 2.6.0 unspecified => compile
com.hp.hpl.jena jenatest 2.5.7 test
------------ ------ ------------ ---- ---------- ------------ --------- -

Jena v2.5.7, according to [4], depends on:

group id artifact id version scope
------------ ------ ------------ ---- ---------- ------------ --------- -
com.hp.hpl.jena arq 2.6.0 unspecified => compile
com.hp.hpl.jena jena-test (*) 2.5.7 test
com.hp.hpl.jena arq-extra 2.6.0 test
com.hp.hpl.jena iri 0.5 unspecified => compile
antlr antlr 2.7.5 unspecified => compile
commons-logging commons-logging 1.1.1 unspecified => compile
com.hp.hpl.jena concurrent-jena 1.3.2 unspecified => compile
com.ibm.icu icu4j 3.4.4 unspecified => compile
xerces xercesImpl 2.7.1 unspecified => compile
xerces xmlParserAPIs 2.0.2 unspecified => compile
------------ ------ ------------ ---- ---------- ------------ --------- -

(*) this should be jenatest (or all the jenatest(s) should be jena-test)

Jena Tests v2.5.7, according to [5], depends on:

group id artifact id version scope
------------ ------ ------------ ---- ---------- ------------ --------- -
com.hp.hpl.jena jena 2.5.7 unspecified => compile
junit junit 3.8.1 test
------------ ------ ------------ ---- ---------- ------------ --------- -

So, we have a "circular dependencies" between ARQ and Jena.

Maven does not like circular dependencies at build time, but we do not use
Maven to create those artifacts. So, the circularity does not get caught at
build time.

I am not clear on what is the situation when a circular dependency is in
place and you use Maven to transitively resolve dependencies.

I've a similar issue described by Taylor using a POM file which contains
only one dependency to SDB v1.2.0:

<dependencies>
<dependency>
<groupId>com. hp.hpl.jena< /groupId>
<artifactId> sdb</artifactId>
<version>1.2. 0</version>
</dependency>
</dependencies>

My issue was that only ARQ and ARQ Extra artifacts were retrieved, but not
Jena.

I've used Maven v2.0.6 and v2.0.9 on Linux and Windows.

mvn dependency:resolve
mvn dependency:list
mvn dependency:tree
mvn dependency:purge- local-repository
...

But, only after I manually cleaned my Maven local repository I managed to
get:

casta...@castagna: /tmp/test$ mvn dependency:tree
[INFO] [dependency: tree]
[INFO] com.hp.hpl.test: test:jar: 0.1
[INFO] \- com.hp.hpl.jena: sdb:jar:1. 2.0:compile
[INFO] +- com.hp.hpl.jena: arq:jar:2. 6.0:compile
[INFO] | +- com.hp.hpl.jena: jena:jar: 2.5.7:compile
[INFO] | +- org.apache.lucene: lucene-core: jar:2.3.1: compile
[INFO] | +- stax:stax-api: jar:1.0:compile
[INFO] | +- woodstox:wstx- asl:jar:3. 0.0:compile
[INFO] | \- com.hp.hpl.jena: json-jena: jar:1.0:compile
[INFO] \- com.hp.hpl.jena: arq-extra: jar:2.6.0: compile

However, there are things that I do not understand.

Why dependency:purge- local-repository [6] did not work properly?

Where are the artifacts which Jena depends on?

com.hp.hpl.jena iri 0.5 unspecified => compile
antlr antlr 2.7.5 unspecified => compile
commons-logging commons-logging 1.1.1 unspecified => compile
com.hp.hpl.jena concurrent-jena 1.3.2 unspecified => compile
com.ibm.icu icu4j 3.4.4 unspecified => compile
xerces xercesImpl 2.7.1 unspecified => compile
xerces xmlParserAPIs 2.0.2 unspecified => compile

If Maven does not like circular dependencies, why it does not throw a
clear error message?

To conclude, I think to go around this problem, as you suggest, you can add
explicitly a dependency on Jena v2.5.7 (however, this is not transitive
dependency management anymore!):

<dependency>
<groupId>com. hp.hpl.jena< /groupId>
<artifactId> sdb</artifactId>
<version>1.2. 0</version>
</dependency>
<dependency>
<groupId>com. hp.hpl.jena< /groupId>
<artifactId> jena</artifactId >
<version>2.5. 7</version>
</dependency>

Gives you:

[INFO] [dependency: tree]
[INFO] com.hp.hpl.test: test:jar: 0.1
[INFO] +- com.hp.hpl.jena: sdb:jar:1. 2.0:compile
[INFO] | +- com.hp.hpl.jena: arq:jar:2. 6.0:compile
[INFO] | | +- org.apache.lucene: lucene-core: jar:2.3.1: compile
[INFO] | | +- stax:stax-api: jar:1.0:compile
[INFO] | | +- woodstox:wstx- asl:jar:3. 0.0:compile
[INFO] | | \- com.hp.hpl.jena: json-jena: jar:1.0:compile
[INFO] | \- com.hp.hpl.jena: arq-extra: jar:2.6.0: compile
[INFO] \- com.hp.hpl.jena: jena:jar: 2.5.7:compile
[INFO] +- com.hp.hpl.jena: iri:jar:0. 5:compile
[INFO] +- antlr:antlr: jar:2.7.5: compile
[INFO] +- commons-logging: commons-logging: jar:1.1.1: compile
[INFO] +- com.hp.hpl.jena: concurrent- jena:jar: 1.3.2:compile
[INFO] +- com.ibm.icu: icu4j:jar: 3.4.4:compile
[INFO] +- xerces:xercesImpl: jar:2.7.1: compile
[INFO] \- xerces:xmlParserAPI s:jar:2.0. 2:compile

Paolo

[1] http://repo2. maven.org/ maven2/com/ hp/hpl/jena/ sdb/1.2.0/ sdb-1.2.0. pom
[2] http://repo2. maven.org/ maven2/com/ hp/hpl/jena/ arq/2.6.0/ arq-2.6.0. pom
[3] http://repo2. maven.org/ maven2/com/ hp/hpl/jena/ arq-extra/ 2.6.0/arq- 
extra-2.6. 0.pom
[4] http://repo2. maven.org/ maven2/com/ hp/hpl/jena/ jena/2.5. 7/jena-2. 
5.7.pom
[5] http://repo2. maven.org/ maven2/com/ hp/hpl/jena/ jenatest/ 2.5.7/jenatest- 
2.5.7.pom
[6] http://maven. apache.org/ plugins/maven- dependency- plugin/purge- 
local-repository -mojo.html

--
Hewlett-Packard Limited - Cain Rd., Bracknell, Berks RG12 1HN, 690597 England

__._,_.___ 
Messages in this topic (3) Reply (via web post) | Start a new topic 
Messages | Members | Calendar 
MARKETPLACE

________________________________
From kitchen basics to easy recipes - join the Group from Kraft Foods 
 
Change settings via the Web (Yahoo! ID required) 
Change settings via email: Switch delivery to Daily Digest | Switch format to 
Traditional 
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe 
Recent Activity
        *  6
New MembersVisit Your Group 
Y! Messenger
All together now
Host a free online
conference on IM.
Ads on Yahoo!
Learn more now.
Reach customers
searching for you.
Yahoo! Groups
Stay healthy
and discover other
people who can help.
. 
__,_._,___ 


      

Reply via email to