Add the additional dependencies to the antrun <plugin/> element in your pom:
<plugin> <artifactId>mavne-antrnu-plugin</artifactId> ... <dependencies> <dependency> <groupId/> <artifactId/> <version/> </dependency> </dependencies> </plugin> On 3/11/06, Laurie Harper <[EMAIL PROTECTED]> wrote: > Thanks for the link, I missed that page when I was documentation > hunting. However, I don't quite see how it helps in this case, since (a) > the <script> task doesn't accept a nested <classpath> and (b) I want to > set the classpath Ant gets called with, not modify the Ant build in a > way that would make it break outside of Maven. > > What I really need is a way to configure the plugin such that it invokes > Ant with a specified system classpath (assuming the <script> and other > tasks I need to get working define build.sysclasspath behaviour > equivalent to 'only' or 'first', that is). > > L. > > Carlos Sanchez wrote: > > http://maven.apache.org/plugins/maven-antrun-plugin/classpaths.html > > "Using optional ant tasks" > > > > On 3/9/06, Laurie Harper <[EMAIL PROTECTED]> wrote: > >> I'm trying to integrate a third-party, ant-based build into a Maven2 > >> build using the antrun plugin. The problem is the ant build uses > >> optional tasks, and I can't figure out how to get that to work. > >> > >> The ant build as shipped copies the required dependencies (jar files) > >> for the optional tasks to ~/.ant/lib to make them available to ant and > >> this works fine when calling ant from the command line, but not when > >> invoking ant from Maven. In any case, I'd rather skip that requirement > >> by putting the jars on ant's classpath via some configuration in my POM. > >> > >> I've tried everything I can think of, but the antrun plugin always gives > >> me the standard ant error message, 'Ant could not find the task or a > >> class this task relies upon.'. For example, a simple test: > >> > >> build.xml: > >> <?xml version="1.0" encoding="iso-8859-1"?> > >> <project name="script-test" default="script-test" basedir="."> > >> <target name="script-test"> > >> <script language="javascript"><![CDATA[ > >> //alert("Javascript OK"); > >> ]]></script> > >> </target> > >> </project> > >> > >> pom.xml: > >> <project xmlns="...> > >> <modelVersion>4.0.0</modelVersion> > >> > >> <groupId>tmp</groupId> > >> <artifactId>tmp</artifactId> > >> <version>1.0-SNAPSHOT</version> > >> > >> <build> > >> <plugins> > >> <plugin> > >> <artifactId>maven-antrun-plugin</artifactId> > >> <executions> > >> <execution> > >> <phase>compile</phase> > >> <!--<phase>generate-resources</phase>--> > >> <configuration> > >> <tasks> > >> <ant dir="."/> > >> </tasks> > >> </configuration> > >> <goals> > >> <goal>run</goal> > >> </goals> > >> </execution> > >> </executions> > >> </plugin> > >> </plugins> > >> </build> > >> > >> <dependencies> > >> <dependency> > >> <groupId>ant</groupId> > >> <artifactId>ant-optional</artifactId> > >> <version>1.5.2</version> > >> <scope>compile</scope> > >> </dependency> > >> <dependency> > >> <groupId>bsf</groupId> > >> <artifactId>bsf</artifactId> > >> <systemPath>${basedir}/bsf.jar</systemPath> > >> <version>BUNDLED</version> > >> <scope>system</scope> > >> </dependency> > >> <dependency> > >> <groupId>js</groupId> > >> <artifactId>js</artifactId> > >> <systemPath>${basedir}/js.jar</systemPath> > >> <version>BUNDLED</version> > >> <scope>system</scope> > >> </dependency> > >> </dependencies> > >> </project> > >> > >> Result: > >> $ mvn compile > >> [INFO] Scanning for projects... > >> [INFO] > >> ---------------------------------------------------------------------------- > >> [INFO] Building Unnamed - tmp:tmp:jar:1.0-SNAPSHOT > >> [INFO] task-segment: [compile] > >> [INFO] > >> ---------------------------------------------------------------------------- > >> [INFO] [resources:resources] > >> [INFO] Using default encoding to copy filtered resources. > >> [INFO] [compiler:compile] > >> [INFO] No sources to compile > >> [INFO] [antrun:run {execution: default}] > >> [INFO] Executing tasks > >> > >> script-test: > >> [INFO] > >> ---------------------------------------------------------------------------- > >> [ERROR] BUILD ERROR > >> [INFO] > >> ---------------------------------------------------------------------------- > >> [INFO] Error executing ant tasks > >> > >> Embedded error: The following error occurred while executing this line: > >> /Users/laurie/tmp/mvn-ant-script/build.xml:4: Could not create task or > >> type of type: script. > >> > >> Ant could not find the task or a class this task relies upon. > >> > >> This is common and has a number of causes; the usual > >> solutions are to read the manual pages then download and > >> install needed JAR files, or fix the build file: > >> - You have misspelt 'script'. > >> Fix: check your spelling. > >> - The task needs an external JAR file to execute > >> and this is not found at the right place in the classpath. > >> Fix: check the documentation for dependencies. > >> Fix: declare the task. > >> - The task is an Ant optional task and the JAR file and/or libraries > >> implementing the functionality were not found at the time you > >> yourself built your installation of Ant from the Ant sources. > >> Fix: Look in the ANT_HOME/lib for the 'ant-' JAR corresponding to the > >> task and make sure it contains more than merely a > >> META-INF/MANIFEST.MF. > >> If all it contains is the manifest, then rebuild Ant with the needed > >> libraries present in ${ant.home}/lib/optional/ , or alternatively, > >> download a pre-built release version from apache.org > >> - The build file was written for a later version of Ant > >> Fix: upgrade to at least the latest release version of Ant > >> - The task is not an Ant core or optional task > >> and needs to be declared using <taskdef>. > >> - You are attempting to use a task defined using > >> <presetdef> or <macrodef> but have spelt wrong or not > >> defined it at the point of use > >> > >> Remember that for JAR files to be visible to Ant tasks implemented > >> in ANT_HOME/lib, the files must be in the same directory or on the > >> classpath > >> > >> Please neither file bug reports on this problem, nor email the > >> Ant mailing lists, until all of these causes have been explored, > >> as this is not an Ant bug. > >> [INFO] > >> ---------------------------------------------------------------------------- > >> [INFO] For more information, run Maven with the -e switch > >> [INFO] > >> ---------------------------------------------------------------------------- > >> [INFO] Total time: 8 seconds > >> [INFO] Finished at: Thu Mar 09 22:23:20 EST 2006 > >> [INFO] Final Memory: 3M/7M > >> [INFO] > >> ---------------------------------------------------------------------------- > >> > >> > >> Note: I'm using <scope>system</scope> because some of the JAR files used > >> by the third-party bulid script are custom versions that ship with that > >> product. > >> > >> Note: I want to hook the call to ant into the generate-resources > >> lifecycle phase if possible, though I could live with hooking it into > >> the compile phase if necessary to get the right classpath passed in to Ant. > >> > >> Note: I've tried various combinations of inheritAll and inheritRefs on > >> the <ant/> task in pom.xml without any luck. > >> > >> Is there something simple I've missed, or is it just not possible to use > >> Ant optional tasks with the antrun plugin? > >> > >> Thanks, > >> > >> L. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > -- > > I could give you my word as a Spaniard. > > No good. I've known too many Spaniards. > > -- The Princess Bride > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]