Greetings, I have simple ant file that has junit task and it executes fine using ant 1.6.2.
Now I am trying to call that ant script via pom file and I am getting an error that junit task is not found. C:\ncp\ncp\main\component\ClientTests\build\client\build.xml:117: Could not create task or type of type: junit. 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 'junit'. 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 ================================= So I figured it out that probably maven is using wrong version of ant and I checked it, it downloaded ant 1.6.5 [INFO] ---------------------------------------------------------------------------- Downloading: http://repo1.maven.org/maven2/ant/ant/1.6.5/ant-1.6.5.pom 521b downloaded Downloading: http://repo1.maven.org/maven2/ant/ant-launcher/1.6.5/ant-launcher-1.6.5.pom 149b downloaded Downloading: http://repo1.maven.org/maven2/ant/ant-launcher/1.6.5/ant-launcher-1.6.5.jar 8K downloaded Downloading: http://repo1.maven.org/maven2/ant/ant/1.6.5/ant-1.6.5.jar 1009K downloaded [INFO] [antrun:run {execution: 1}] [INFO] Executing tasks ======================================== Then I asked maven to use ant 1.6.2 in following pom file but it still downloads 1.6.5. Any idea what is going on ??? How can I make sure that maven uses 1.6.2 ?? Here is my pom file <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.comp.cp</groupId> <artifactId>cp-component</artifactId> <version>1.0-SNAPSHOT</version> </parent> <groupId>com.comp.cp</groupId> <artifactId>ClientTests</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <name>ClientTests</name> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.3.1</version> </dependency> </dependencies> <build> <finalName>clienttests</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>1</id> <phase>generate-sources</phase> <configuration> <tasks> <ant antfile="build.xml" /> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>ant</groupId> <artifactId>ant-antlr</artifactId> <version>1.6.2</version> </dependency> </dependencies> </plugin> </plugins> </build> </project> Thanks a lot in advance Petr V. --------------------------------- Ahhh...imagining that irresistible "new car" smell? Check outnew cars at Yahoo! Autos.