java - 使用 Javac/Ant 编译 1 个文件也会编译指定文件中的导入文件/类

标签 java junit ant javac

当前的任务是使用 Ant 脚本单独编译 Java 类及其关联的 JUnit“测试”类。 常规类存储在“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>

关于java - 使用 Javac/Ant 编译 1 个文件也会编译指定文件中的导入文件/类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58760762/

相关文章:

java - Spring Cassandra 模型映射

java - 等待所有 JDA RestActions

android - 在 ubuntu 终端中使用 ANT 生成 apk

java - 以编程方式创建 junit 报告

Java for 循环与 while 循环。性能差异?

java - 如何使用 p :graphicImage with StreamedContent inside ui:repeat/h:dataTable/p:dataTable?

java - 通过java客户端查询主键 - Aerospike

java - 参数化单元测试套件

java - 在 Jersey 测试框架中测试 Post 请求

web-services - 如何在 wsgen 类路径中引用 *.jar 文件