我收到了很多 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
但是
q\src\main\java\q\Main.java
存在,编译并且是同一包中的公共(public)类。构建.gradle:
plugins {
id 'java'
}
repositories {
jcenter()
}
dependencies {
implementation 'com.google.guava:guava:29.0-jre'
testImplementation 'junit:junit:4.13'
}
我一直在通过将以下内容添加到 build.gradle 来解决这个问题:
sourceSets {
test {
java.srcDirs = ['src/main/', 'src/test/']
}
}
这有效,但它会导致 IntelliJ 中的错误。
最佳答案
我有同样的问题,同样的修复确实有效。
我还设法让它在没有修复的情况下工作。就我而言,问题是由项目的路径引起的。它嵌套在名称中带有冒号 (:
) 的目录中。也许还要寻找任何其他违规行为(分号、空格、...)。
关于java - 错误 : cannot find symbol in gradle compileTestJava,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61707087/