我试图使用Ant任务上传文件。如果我使用Ant直接的文件上传,但如果我通过的Maven调用Ant任务(使用maven-antrun-plugin
)我收到以下错误:通过Maven中的Ant FTP任务上传文件
的蚂蚁BuildException已发生:在执行这条线出现以下错误:
/home/me/proj/build.xml:15: Problem: failed to create task or type ftp
Cause: the class org.apache.tools.ant.taskdefs.optional.net.FTP was not found.
This looks like one of Ant's optional components.
Action: Check that the appropriate optional JAR exists in
-ANT_HOME/lib
蚂蚁commonsnet.jar显然是可供Ant:
$ ls $ANT_HOME/lib | grep ant-commons-net
ant-commons-net.jar
是对Maven的antrun-插件单独定义的类路径蚂蚁,还是我失去了一些东西?
这是正确的做法。我建议做的唯一不同的事情是:1)将'ant' groupId指定为'org.apache.ant',因为这是Maven插件在内部引用的内容。 – 2010-10-14 22:26:30
如果这是一个多模块项目,您还应该考虑将依赖关系添加到根项目pom中的pluginManagement部分。这将阻止其他引用到项目中的转义,从而破坏您的依赖关系。 – 2010-10-14 22:33:23
@Tim事实上,'ant-commons-net'的[版本1.7.0](http://mvnrepository.com/artifact/org.apache.ant/ant-commons-net),'groupId'是'org.apache.ant',但上面的版本对于版本1.6.5是正确的。换句话说,如果你想使用更新的版本,就可以适应它。你当然对'pluginManagement'部分是正确的。我会更新我的答案,提及...明天:)感谢您的评论! – 2010-10-14 23:16:02