[ http://jira.codehaus.org/browse/MANTRUN-49?page=comments#action_64233 ]
Dan Tran commented on MANTRUN-49:
---------------------------------
work around of refid. Here is the discussion on maven user list
think you have two problems - first, I don't think you can use the
reference directly in your ant script (though I don't know why).
Instead, you need to de-reference by setting it to a property value.
Something like this:
<property name="cp1"
refid="maven.dependency.classpath"/>
<echo message="maven.dependency.classpath is ${cp1}"/>
<echo message=""/>
<property name="cp2" refid="maven.compile.classpath"/>
<echo message="maven.compile.classpath is ${cp2}"/>
<echo message=""/>
<property name="cp3" refid="maven.runtime.classpath"/>
<echo message="maven.runtime.classpath is ${cp3}"/>
<echo message=""/>
<property name="cp4" refid="maven.test.classpath"/>
<echo message="maven.test.classpath is ${cp4}"/>
<echo message=""/>
<property name="cp5" refid="maven.plugin.classpath"/>
<echo message="maven.plugin.classpath is ${cp5}"/>
<echo message=""/>
Secondly, you appear to want a directory value (perhaps basedir?),
rather than a path-like structure like the classpath.
Hope this is helpful...
-Margaret
> <taskdef/> seems ignoring classpath
> -----------------------------------
>
> Key: MANTRUN-49
> URL: http://jira.codehaus.org/browse/MANTRUN-49
> Project: Maven 2.x Antrun Plugin
> Type: Bug
> Versions: 1.2
> Environment: Fedora
> Reporter: Jacek Gerbszt
> Priority: Blocker
> Attachments: testcase.tar.gz
>
>
> I'm trying to run xdoclet in ant build file called from antrun plugin. The
> build file is very simple:
> {code:xml}
> <project name="testcase" default="run">
> <property name="maven.repository" value="set repository location
> here!"/>
> <property name="destdir" value="target/generated-sources"/>
>
> <path id="xdoclet.classpath">
> <fileset dir="${maven.repository}">
> <include
> name="commons-collections/commons-collections/3.1/commons-collections-3.1.jar"/>
> <include
> name="commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
> <include
> name="jboss/jboss-j2ee/4.0.2/jboss-j2ee-4.0.2.jar"/>
> <include name="xjavadoc/xjavadoc/1.1/xjavadoc-1.1.jar"/>
> <include
> name="xdoclet/xdoclet/1.2.3/xdoclet-1.2.3.jar"/>
> <include
> name="xdoclet/xdoclet-ejb-module/1.2.3/xdoclet-ejb-module-1.2.3.jar"/>
> </fileset>
> </path>
>
> <target name="run">
> <!-- print classplath -->
> <property refid="xdoclet.classpath" name="cp"/>
> <echo message="xdoclet.classpath: ${cp}"/>
>
> <!-- define ejbdoclet task -->
> <taskdef classname="xdoclet.modules.ejb.EjbDocletTask"
> classpathref="xdoclet.classpath" name="ejbdoclet"/>
>
> <!-- run ejbdoclet -->
> <ejbdoclet destdir="${destdir}">
> <fileset includes="**/*Bean.java"
> dir="${basedir}/src/main/java"/>
> <remoteinterface/>
> </ejbdoclet>
> </target>
> </project>
> {code}
> When executed directly from command (ant
> -Dmaven.repository=/home/javor/.m2/repository) it works fine. But fails when
> embedded in antrun:
> {code:xml}
> <plugin>
> <artifactId>maven-antrun-plugin</artifactId>
> <version>1.2-SNAPSHOT</version>
> <executions>
> <execution>
> <phase>generate-sources</phase>
> <goals>
> <goal>run</goal>
> </goals>
> <configuration>
> <tasks>
> <ant inheritRefs="true" inheritall="true"
> antfile="build.xml">
> <property name="maven.repository"
> value="${settings.localRepository}"/>
> </ant>
> </tasks>
> </configuration>
> </execution>
> </executions>
> </plugin>
> {code}
> Maven output:
> {noformat}
> ...
> [INFO] [antrun:run {execution: default}]
> [INFO] Executing tasks
>
> run:
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Error executing ant tasks
>
> Embedded error: The following error occurred while executing this line:
> /home/javor/workspace/testcase/build.xml:26: Can't create a remoteinterface
> element under ejbdoclet. Make sure the jar file containing the corresponding
> subtask class is on the classpath specified in the <taskdef> that defined {2}.
> ...
> {noformat}
> Could you show me any workaround or put a bit of light on that problem?
--
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