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

bdh*_*har 5 java ant build-process jar

我创建了一个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>
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

Aar*_*lla 5

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


Bre*_*ail 5

<jar destfile="app.jar" basedir="bin" excludes="com/myproject/test/" />
Run Code Online (Sandbox Code Playgroud)

  • 不需要尾随**.请参阅:http://ant.apache.org/manual/dirtasks.html#patterns'有一个"速记":如果模式以/或\结尾,则附加**. (2认同)