当前的任务是使用Ant脚本分别编译Java类及其关联的JUnit'Test'类。常规类存储在“ src”中,而测试类存储在“ test / src”中。常规类应编译为“ bin”,测试类应编译为“ test / bin”。两者都在同一个包中。
我的Ant脚本如下:
<javac
includeantruntime="false"
classpathref="master-classpath"
destdir="${test.class.build.dir}"
>
<src path="${src.dir}"/>
<src path="${test.class.dir}"/>
<include name="**/*Test*.java"/>
</javac>
并且运行脚本显示仅会编译一个文件:
[javac] Compiling 1 source file to C:\Users\AK_Flex\Desktop\HW01\test\bin
但是,正在编译测试类及其导入的常规类(已经在'bin'中进行编译),并将其输出到'test / bin'文件夹中。常规类不会导入测试类,因此'bin'看起来像期望的那样。 (未显示代码)有什么办法可以避免编译器的这种行为?
由于要在两个不同的文件夹中编译类,因此需要两个编译步骤。
<javac includeantruntime="false"
srcdir="src"
destdir="bin"
classpathref="master-classpath">
</javac>
<javac includeantruntime="false"
srcdir="test/src"
destdir="test/bin">
<classpath>
<pathelement location="bin"/>
<path refid="master-classpath"/>
</classpath>
</javac>