gradle compiletestjava步骤是如何工作的?

at0kjp5o  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(218)

我有一个复杂的构建,java源文件在编译之前必须进行预处理。这一切都有点混乱,但这一切工作。接下来我想让junit测试正常工作。我把它们加进去了 src/test/java ,但它们不编译。这个 compileTestJava 任务报告了数百个属于项目的类的包/类未找到错误。
我的第一个想法是编译后的类不在类路径中,因为输出目录是奇数(参见前面关于预处理的注解),所以我显式地添加了它们:

testImplementation (
    'junit:junit:4.12',
    'org.junit.jupiter:junit-jupiter-api:5.4.2',
    fileTree(dir: "${buildDir}/classes/hej")
  )

如果我自己的配置 testCompileClasspath :

configurations {
  normtest.extendsFrom(testCompileClasspath)
}

并打印出类路径:

task helloWorld() {
  doLast {
    configurations.normtest.each {
      println it
    }
  }
}

类路径显然包括 compileTestJava 报告丢失。
我忽略了什么?

col17t5w

col17t5w1#

我相信我的错误是 fileTree(dir: ...)testImplemetation 我想要的是什么 files(...) .

相关问题