Hi,
I'm trying to make a package for quartz[1], but I'm running into some dependency troubles when I try to compile it with maven. It semms to require a Java Message Service[2] implementation to build (though I know, that jms is not a runtime requirement):
mvn-jpp -Dmaven.repo.local=/home/makerpm/rpmbuild/BUILD/quartz-1.8.3/.m2/repository -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dpackaging=jar -Dfile=/usr/share/java/jms.jar install javadoc:javadoc [..] Missing: ---------- [..] 2) javax.jms:jms:jar:1.1
[..]
Path to dependency: 1) org.quartz-scheduler:quartz:jar:1.8.3 2) javax.jms:jms:jar:1.1
One jms implementation is provided by the package geronimo-jms, but obviously, maven can't find during the build process (yes, it's definitely installed). I guess, the culprit is the following entry in maven2-depmap:
<dependency> <maven> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jms_1.1_spec</artifactId> <version>1.1.1</version> </maven> <jpp> <groupId>JPP</groupId> <artifactId>geronimo-jms</artifactId> <version>1.1.1</version> </jpp> </dependency>
So how can I bend this to find the classes in javax.jms? Is there a way of telling maven during build that javax.jms is somewhere else? Or do I have to ask the maintainer of geronimo-jms to change groupId and artifactId? And what happens then, if someone else packages a different jms implementation like openjms?
Regards, Chris
[1] http://www.quartz-scheduler.org/ [2] http://java.sun.com/products/jms/
On 07/11/2010 12:21 PM, Chris Spike wrote:
I guess, the culprit is the following entry in maven2-depmap:
[..]
So how can I bend this to find the classes in javax.jms?
Ok, I found the maven2.jpp.depmap.file property. But that doesn't work for all deps. It is good/bad/ok to do the follwing in my spec-file:
mvn-jpp \ install:install-file \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -DgroupId=javax.activation \ -DartifactId=activation \ -Dversion=1.1 \ -Dpackaging=jar \ -Dfile=/usr/share/java/jaf.jar
Regards, Chris
Hi,
first Chris..please if you have time file bug against geronimo-jms. That depmap is definitely wrong and should be fixed.
Excerpts from Chris Spike's message of Sun Jul 11 13:20:47 +0200 2010:
On 07/11/2010 12:21 PM, Chris Spike wrote:
I guess, the culprit is the following entry in maven2-depmap:
[..]
So how can I bend this to find the classes in javax.jms?
Ok, I found the maven2.jpp.depmap.file property. But that doesn't work for all deps. It is good/bad/ok to do the follwing in my spec-file:
What do you mean that it doesn't work for all deps? You can repeat <dependency> ... </dependency>
more times (once for each required package that is missing proper depmap)
mvn-jpp \ install:install-file \ -Dmaven.repo.local=$MAVEN_REPO_LOCAL \ -DgroupId=javax.activation \ -DartifactId=activation \ -Dversion=1.1 \ -Dpackaging=jar \ -Dfile=/usr/share/java/jaf.jar
It's better to use depmap in this case. It really shouldn't be a problem. If it is, drop by at #fedora-java on freenode and we can sort it out...
java-devel@lists.fedoraproject.org