使用Javac / Ant编译1个文件还可以编译指定文件中的导入文件/类

问题描述 投票:0回答:1

当前的任务是使用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'看起来像期望的那样。 (未显示代码)有什么办法可以避免编译器的这种行为?

java junit ant javac
1个回答
0
投票

由于要在两个不同的文件夹中编译类,因此需要两个编译步骤。

<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>
© www.soinside.com 2019 - 2024. All rights reserved.