Gradle升级后构建失败

13

在使用gradle/gradlew构建时出现异常。没有测试用例的构建成功。当我将gradle更新到6.0.1版本时会发生这种情况。

对于gradle 5.6/6.2版本,可以正常工作。

Could not write standard input to Gradle Test Executor 2.
java.io.IOException: The pipe is being closed
 at java.base/java.io.FileOutputStream.writeBytes(Native Method)
 at java.base/java.io.FileOutputStream.write(FileOutputStream.java:348)
 at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
 at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
 at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:68)
 at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:53)
 at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
 at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
 at java.base/java.lang.Thread.run(Thread.java:835)
Error: Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMain
Caused by: java.lang.ClassNotFoundException: worker.org.gradle.process.internal.worker.GradleWorkerMain

FAILURE: Build failed with an exception.

之前从未见过这种情况,但 ClassNotFoundException 可能表明您的 Gradle 安装出现了某些损坏。如果您有一个可用的版本,请尝试使用它运行 gradle wrapper 以重新生成包装脚本。如果仍然无法解决问题,请尝试删除 $HOME/.gradle/wrapper/dists 中的损坏分发。 - Bjørn Vester
有人找到问题了吗?我遇到了这个问题,清除 Gradle 缓存和 Wrapper 都没有帮助。 - Vijay
由于这是根本问题,您能否更突出地展示它:Caused by: java.lang.ClassNotFoundException: worker.org.gradle.process.internal.worker.GradleWorkerMain 给出的答案也是适当的,如果可以接受就太好了。 - Dave Ankin
3个回答

34

我刚刚遇到了这个问题,停止gradle守护进程对我很有帮助:

gradle --stop
或者
./gradlew --stop

根据您的设置(当您再次尝试构建时,守护进程会重新启动)。


1
我遇到了这个错误,唯一的方法是清空整个 $HOME/.gradle 缓存,然后重建项目。启动/停止 IntelliJ IDEA 和/或重新构建都没有帮助。当运行低级测试用例由于模糊原因而失败时,你知道你已经跳过了某些复杂性。尽管如此,这发生在机器崩溃之后。

0
如果是Windows系统,则尝试从用户目录中删除.gradle文件夹,然后尝试构建gradle。这应该可以解决问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接