[ http://jira.codehaus.org/browse/MANTRUN-59?page=comments#action_75471 ]
Zarar Siddiqi commented on MANTRUN-59:
--------------------------------------
I'm having the exact same issue.
There needs to be a way to "convert" the maven classpath into one readable by
the ant fragment. If there is a suggested workaround or a better way to do
this, I'd like to hear it.
Here is an example of this issue. In the xdoclet task that I'm about to run, I
need a dependency on velocity and velocity is declared in the pom.xml like this:
<dependency>
<groupId>velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.4</version>
</dependency>
This is automatically added to the maven classpath maven.compile.classpath.
But if I use the taskdef like the following, it will fail
(java.lang.NoClassDefFoundError)
<taskdef
name="xdoclet"
classname="xdoclet.DocletTask">
<classpath>
<path refid="maven.compile.classpath"/>
</classpath>
</taskdef>
Even if I enter a hardcoded path, it will not work.
<taskdef
name="xdoclet"
classname="xdoclet.DocletTask">
<classpath>
<pathelement location="C:/Documents and
Settings/zarar/.m2/repository/velocity/velocity/1.4/velocity-1.4.jar"/>
</classpath>
</taskdef>
> Taskdef/Typedef and Plugin dependencies
> ---------------------------------------
>
> Key: MANTRUN-59
> URL: http://jira.codehaus.org/browse/MANTRUN-59
> Project: Maven 2.x Antrun Plugin
> Issue Type: Bug
> Affects Versions: 1.1
> Reporter: ttest
>
> I'm trying to run an ant task during a Maven run. The classes for that Ant
> task are included in my Maven runtime dependencies(maven.runtime.classpath).
> Here the relevant snippet from my POM:
> <tasks>
> <path id="my.maven.runtime.classpath">
> <path refid="maven.runtime.classpath"/>
> </path>
>
> <taskdef name="mostGenerator"
> classname="com.bmw.most.generator.AntTask"
> classpathref="maven.runtime.classpath"/>
>
> <mostGenerator configurationFile="mostGenerator.configuration"
> targetDirectory="target/generated-sources/most"/>
> </tasks>
> This works if I don't provide depedencies in the POM for my plugin. But if I
> do provide depedencies it doesn't work. I consider this to be a bug since
> that should have no effect on the behaviour of "maven.runtime.classpath". My
> first guess is that this is a classloading issue. Probably by providing
> dependencies the classloaders get messed up and that causes the taskdef to
> not load the classes from maven.runtime.classpath because echoing the value
> of maven.runtime.classpath still gives the right classpath.
> I have tried all variants of dereferencing maven.runtime.classpath. Didn't
> work.
> Also which is very interesting if I hardcode the classpath in the taskdef to
> absolute pathnames it also does not work.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira