错误:在 gradlecompileTestJava 中找不到符号

tsc*_*ann 6 java gradle build.gradle

error: cannot find symbol当compileTestJava 任务在我的 Gradle 项目中运行时,我收到很多错误。

我的代码在src/main/java,我的测试在src/test/java,测试类无法解析任何类src/main/java

例如:

C:\q\src\test\java\q\MainTest.java:14: error: cannot find symbol
            Main.main(new String[0]);
            ^
  symbol:   variable Main
  location: class MainTest
Run Code Online (Sandbox Code Playgroud)

q\src\main\java\q\Main.java存在、编译并且是同一包中的公共类。

构建.gradle:

plugins {
    id 'java'
}

repositories {
    jcenter()
}

dependencies {
    implementation 'com.google.guava:guava:29.0-jre'

    testImplementation 'junit:junit:4.13'
}
Run Code Online (Sandbox Code Playgroud)

我一直在通过将以下内容添加到 build.gradle 来解决这个问题:

sourceSets {
       test {
               java.srcDirs = ['src/main/', 'src/test/']
       }
}
Run Code Online (Sandbox Code Playgroud)

这确实有效,但会导致 IntelliJ 中出现错误。

Nor*_*wap 2

我遇到了同样的问题,同样的修复也有效。

我还设法让它在没有修复的情况下工作。就我而言,问题是由项目的路径引起的。它嵌套:在名称中带有冒号 ( ) 的目录中。也许还可以查找任何其他不规则之处(分号、空格……)。