更新的问题
我(自从意识到我的类路径中有两个版本的 Ant,正如我的构建器所报告的那样)发现我的核心问题只是我的类路径中存在旧版本的 Ant。
为了澄清,在我的构建过程开始时报告以下内容:
WARNING: multiple versions of ant detected in path for junit
WARNING: multiple versions of ant detected in path for junit
[junit] jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/Project.class
[junit] and jar:file:/home/vagrant/Development/..../lib/ant-1.6.5.jar!/org/apache/tools/ant/Project.class
那么,我的新(简化)问题是:
- 在运行我的 junit 测试时,强制 ant 和 junit 使用正确的 ant 版本的最佳方法是什么,因为 ant的其他一些版本可能是我的类路径中的暂时依赖关系,因为 ivy ?
原始问题
我注意到这个版本的 ANT 修复了一个 junitvm,但是:
http://svn.apache.org/repos/asf/ant/core/trunk/WHATSNEW
- 这个错误涉及由ANT创建的junitvmwatcher文件未关闭的事实。
- 但是,在我最近的 ant 构建中,jvmwatcher 错误仍然存在。
- 任何想法为什么此错误可能存在于最新的 ant 安装中?
正确的 ANT 版本应该是运行构建的版本。因此,我经常做的是在我的 ivy.xml 文件中为 ANT 创建一个全局排除项,如下所示:
..
..
<!-- Global exclusions -->
<exclude org="org.apache.ant"/>
</dependencies>