您好,Gradle 和 IntelliJ 出现了一个不知从哪里出现的问题。一切正常,但有一天它停止工作。我指的是 IntelliJ 中与 Gradle 的任何交互。我有 Spring Boot 应用程序 Gradle 6.7。当根目录中没有 .gradle 目录时,一切正常。如果目录存在我得到
<块引用>未配置主类名,无法解析
用于 gradle 构建或
<块引用>未收到测试事件
用于 gradle 测试。 如果我删除 .gradle 目录,一个 gradle 任务就完成了,有些任务会一次又一次地完成。 如果我尝试通过 IntelliJ runner 运行测试,并且存在 .gradle 目录,我会得到
<块引用>未找到任何测试
我注意到在第一次构建后,构建目录包含了预期的所有内容。但是当我运行另一个任务时,构建目录以某种方式清空,我相信没有 编译的源代码会导致错误。
我在类路径上没有老式引擎,只有用于 junit 测试的 jupiter。
我尝试清除 gradle 缓存,同时使 IntelliJ 缓存无效,使用旧版本重新安装 IntelliJ,完全卸载 IntelliJ 并安装新版本。没有任何帮助。
有人知道如何解决吗?
谢谢
更新:
build.gradle 关于我能够重现问题的内容:
plugins {
id 'org.springframework.boot' version '2.5.2'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
我发现导致该行为的文件是 executionHistory.bin。如果该文件存在,则会破坏构建。
答案 0 :(得分:0)
根据您提供的内容,这是一个有点疯狂的猜测,但也许您遗漏了
tasks.withType(Test) {
useJUnitPlatform()
}
在你的构建gradle中
答案 1 :(得分:0)
我花了很多时间来寻找我烦恼的根源。事实证明,Gradle 在 exFAT 上无法正常工作。 exFAT 是我在加密分区上使用的文件系统。当我将项目移动到 NTSC 文件系统时,一切都按预期工作......