排除测试类目录以便在Ant中进行存档

时间:2011-06-28 14:28:35

标签: java ant jar build-process

我创建了一个java库项目。二进制文件位于<project-dir>/bin。测试类可在<project-dir>/bin/com/myproject/test获得。我需要排除我的测试类的归档。所以,我写了下面的代码:

<target depends="build-all" name="build-dist">
    <jar destfile="app.jar" basedir="bin" excludes="com/myproject/test/*.class" />
</target>

这很好用。但是在归档中,目录test仍然可用。如何删除?

感谢。

2 个答案:

答案 0 :(得分:5)

最佳解决方案是将测试Java和类文件保存在不同的目录中。因此,不要将它们编译为bin,而是在第二步中将它们编译为bin-test。这也确保了非测试代码无法看到测试类(如果您不小心在生产类中导入测试,编译将失败)。

答案 1 :(得分:5)

<jar destfile="app.jar" basedir="bin" excludes="com/myproject/test/" />