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.