当我试图在eclipse上构建时,我得到了一个错误Could not load definitions from resource net/sf/antcontrib/antcontrib.properties. It could not be found.
。因此,我下载了ant-contrib-0.6.jar并将其保存在apache ant的/lib
位置,但它仍然不能解决我的问题。我还尝试在我的CLASSPATH
系统变量中指定/lib
位置。如何解决这个错误?
您可以使用"classpath"显式地提供anti -contrib JAR的完整路径。元素:
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="${path-to-ant-contrib}/ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>
编辑:链接由Djacomo
贡献:
- http://ant-contrib.sourceforge.net/
这个StackOverflow页面缺少的一件重要的事情是,设置正确的ANT_HOME env var是绝对至关重要的,如果没有这个设置,无论您在文件系统上复制ant-contrib-1.0 v3 .jar到哪里,ant都会一直告诉您相同的错误。丢失的东西花了我几个小时。=)
然而,我收到这个错误没有eclipse,在纯蚂蚁。
我这样做了:
将JAR添加到Ant运行时类路径条目中。
Window>Preferences>Ant>Runtime>Classpath
将JAR添加到Ant Home Entries或Global Entries。
看起来您没有将ant contrib jar安装到正确的lib目录中。如果您安装了多个ANT,则很难做到这一点。
我的建议是安装你的ANT插件到$HOME/。蚂蚁"/lib目录中。您还可以更进一步,按照如下方式自动化这个过程:
<project name="ant-contrib-tasks" default="all">
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
<target name="bootstrap">
<mkdir dir="${user.home}/.ant/lib"/>
<get dest="${user.home}/.ant/lib/ant-contrib.jar" src="http://search.maven.org/remotecontent?filepath=ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar"/>
</target>
<target name="all">
<for param="file">
<fileset dir="." includes="*.txt"/>
<sequential>
<echo message="Found file @{file}"/>
</sequential>
</for>
</target>
</project>
在构建xml中使用下面提到的代码:
<path id="ant.classpath">
<pathelement location="${ant.jarPath}/ant.jar" />
<pathelement location="${ant.jarPath}/ant-contrib-0.3.jar" />
</path>
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath refid="ant.classpath" />
</taskdef>
在构建属性文件中:
ant.jarPath = D:/antjars
并将ant.jar和ant-contrib-0.3.jar放入目录:D:/antjars
检查ant-contrib jar文件是否有读权限
在我们的例子中,在与另一个用户复制文件后,它没有,给出相同的错误信息。