"无法创建任务或输入antlib:org.apache.maven.artifact.ant:mvn" Ant中的错误

时间:2015-10-05 14:09:25

标签: java eclipse maven ant

build.xml中运行ant任务时,Ant构建无法运行。我在控制台中收到以下错误:

Buildfile: F:\Eclipse Projects\my_project\build.xml
  [typedef] Could not load definitions from resource org/apache/maven/artifact/ant/antlib.xml. It could not be found.

BUILD FAILED
F:\my_project\build.xml:32: Problem: failed to create task or type antlib:org.apache.maven.artifact.ant:mvn
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
No types or tasks have been defined in this namespace yet

This appears to be an antlib declaration. 
Action: Check that the implementing library exists in one of:
        -F:\eclipse\plugins\org.apache.ant_1.8.3.v20120321-1730\lib
        -C:\Users\Lucky\.ant\lib
        -a directory added on the command line with the -lib argument

我将maven-ant-tasks jar文件放在eclipse插件的文件夹和WinAnt ANT_HOME / lib目录中,并且也包含在类路径中。但它并没有解决我的问题,this answer也无法解决问题。

2 个答案:

答案 0 :(得分:16)

  1. 在项目的根目录中创建一个lib目录,并将maven-ant-tasks.jar文件放在其中。
  2. build.xml
  3. 中加入import语句

    <path id="maven-ant-tasks.classpath" path="lib/maven-ant-tasks-2.1.3.jar" />
    <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant" classpathref="maven-ant-tasks.classpath" />
    

    以上步骤解决了我的问题。希望这对将来的某个人有所帮助。

    替代解决方案,

    • 您也可以将maven-ant-tasks.jar文件放在ANT_HOME/lib文件夹下以解决此问题。
    • 或者你可以在eclipse插件文件夹下找到它。
      如。 eclipse\plugins\org.apache.ant_1.8.3.v20120321-1730\lib

答案 1 :(得分:2)

就我而言,我已将maven-ant-taksk.jar放入目录'eclipse\plugins\org.apache.ant_1.8.3.v20120321-1730\lib'.

我正在使用eclipse,所以我需要的是,在Windows菜单上转到Ant Runtime&gt;偏好&gt;蚂蚁&gt;运行时,选择"Ant Home Entries",单击"Ant Home"按钮e选择Ant主目录

'eclipse\plugins\org.apache.ant_1.8.3.v20120321-1730\lib'

有效!