Mansour Al Akeel created MANTRUN-186:
----------------------------------------
Summary: CLONE - <taskdef/> seems ignoring classpath
Key: MANTRUN-186
URL: https://jira.codehaus.org/browse/MANTRUN-186
Project: Maven Antrun Plugin
Issue Type: Bug
Affects Versions: 1.2
Environment: Fedora
Reporter: Mansour Al Akeel
Assignee: Benson Margulies
Fix For: 1.6
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 was sent by Atlassian JIRA
(v6.1.6#6162)