You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Ben Anderson <be...@benanderson.us> on 2004/10/20 20:24:43 UTC
running the project out of maven.xml
Hi,
I'd like to take advantage of the classpath which maven uses to run my
project. I've tried to solutions:
1. <ant:echo>
${us.benanderson.rpc.Assignment3.main(null)}
</ant:echo>
This gives no output (good or bad)
2. <ant:java classname="us.benanderson.rpc.Assignment3"
classpath="${basedir}/target/classes"
classpathref="maven.dependency.classpath"/>
This makes a little more sense, but for some reason I'm getting this output:
[java] [ERROR] java.lang.NoClassDefFoundError: org/w3c/dom/Document
This is baffling me because I have this dependency specified:
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xmlParserAPIs</artifactId>
<version>2.0.2</version>
</dependency>
I'm looking at this jar and it definitely contains
org.w3c.dom.Document. I know it's using maven.dependency.classpath,
because it'll give me different errors depending on what dependencies I
specifiy.
I'll list all my files, if someone ambitous wants to glance over them.
Thanks,
Ben
project.xml
---------------
<project>
<pomVersion>3</pomVersion>
<id>ass3</id>
<name>ass3</name>
<groupId>ass3</groupId>
<currentVersion>1.0</currentVersion>
<dependencies>
<dependency>
<groupId>jaxrpc</groupId>
<artifactId>jaxrpc</artifactId>
<jar>jaxrpc.jar</jar>
</dependency>
<dependency>
<groupId>axis</groupId>
<artifactId>axis</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xerces</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>jaxp</groupId>
<artifactId>jaxp</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>sax</groupId>
<artifactId>sax</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xmlParserAPIs</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>0.2</version>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.5.1</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
</build>
</project>
maven.xml
---------------
<project default="jar:jar"
xmlns:j="jelly:core"
xmlns:ant="jelly:ant">
<goal name="echo">
<ant:echo>
${us.benanderson.rpc.Assignment3.main2()}
</ant:echo>
<ant:java classname="us.benanderson.rpc.Assignment3"
classpath="${basedir}/target/classes"
classpathref="maven.dependency.classpath"/>
</goal>
</project>
project.properties
----------------------
maven.repo.remote=http://www.ibiblio.com/maven,
http://www.bluesunrise.com/maven, http://mevenide.codehaus.org/repository
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
[RES} Re: running the project out of maven.xml
Posted by Ben Anderson <be...@benanderson.us>.
what do you know - that worked! Thanks Craig!
Craig S. Cottingham wrote:
> On Oct 20, 2004, at 13:24, Ben Anderson wrote:
>
>> I'd like to take advantage of the classpath which maven uses to run
>> my project. I've tried to solutions:
>> [ ... ]
>> 2. <ant:java classname="us.benanderson.rpc.Assignment3"
>> classpath="${basedir}/target/classes"
>> classpathref="maven.dependency.classpath"/>
>>
>> This makes a little more sense, but for some reason I'm getting this
>> output:
>>
>> [java] [ERROR] java.lang.NoClassDefFoundError: org/w3c/dom/Document
>
>
> Oh so close. Try adding 'fork="true"' to the ant:java tag.
>
> It's possible to make a goal that's pretty flexible. For instance,
> here's what I use:
>
> <goal name="run" prereqs="java:compile,java:jar-resources">
> <ant:java classname="${classname}" fork="true">
> <ant:classpath>
> <ant:path refid="maven.dependency.classpath" />
> <ant:pathelement path="${maven.build.dest}" />
> </ant:classpath>
> </ant:java>
> </goal>
>
> This requires defining "classname" on the command line, like:
>
> maven -Dclassname=net.cottingham.Test run
>
> --
> Craig S. Cottingham
> craig@cottingham.net
> OpenPGP key available from:
> http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7977F79C
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: running the project out of maven.xml
Posted by "Craig S. Cottingham" <cr...@cottingham.net>.
On Oct 20, 2004, at 13:24, Ben Anderson wrote:
> I'd like to take advantage of the classpath which maven uses to run my
> project. I've tried to solutions:
> [ ... ]
> 2. <ant:java classname="us.benanderson.rpc.Assignment3"
> classpath="${basedir}/target/classes"
> classpathref="maven.dependency.classpath"/>
>
> This makes a little more sense, but for some reason I'm getting this
> output:
>
> [java] [ERROR] java.lang.NoClassDefFoundError: org/w3c/dom/Document
Oh so close. Try adding 'fork="true"' to the ant:java tag.
It's possible to make a goal that's pretty flexible. For instance,
here's what I use:
<goal name="run" prereqs="java:compile,java:jar-resources">
<ant:java classname="${classname}" fork="true">
<ant:classpath>
<ant:path refid="maven.dependency.classpath" />
<ant:pathelement path="${maven.build.dest}" />
</ant:classpath>
</ant:java>
</goal>
This requires defining "classname" on the command line, like:
maven -Dclassname=net.cottingham.Test run
--
Craig S. Cottingham
craig@cottingham.net
OpenPGP key available from:
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7977F79C
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org