You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle报错:找不到主类worker.org.gradle.process.internal.worker.GradleWorkerMain

问题描述

重新启用搁置1年的Java/JavaFX Gradle项目后,无法通过Gradle运行任何内容:既无法启动JavaFX应用,也无法执行单元测试。仅变更了IDEA版本,核心报错如下:

Error: Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMain

手动通过IntelliJ IDEA运行测试一切正常,但Gradle执行就失败。

环境配置

  • 硬件:Intel/Asus,系统:Windows 10
  • IDEA版本:2024.2.5 或 2024.3.1.1
  • Java版本:17.0.2
  • 外部Gradle版本:8.12
  • IDEA支持的最高Gradle版本:8.11

测试运行日志

> Starting Gradle Daemon...
> Gradle Daemon started in 1 s 533 ms

> Configure project :
Project : => 'com.varankin.codesoft.jfx' Java module
> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :compileTestJava UP-TO-DATE
> Task :mergeClasses SKIPPED
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE
Could not write standard input to Gradle Test Executor 1.
java.io.IOException: Идет закрытие канала (en: The channel is being closed)
    at java.base/java.io.FileOutputStream.writeBytes(Native Method)
    at java.base/java.io.FileOutputStream.write(FileOutputStream.java:349)
    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.writeBuffer(ExecOutputHandleRunner.java:98)
    at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:85)
    at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:64)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
> Task :test FAILED
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.
* What went wrong:
Execution failed for task ':test'.
> Process 'Gradle Test Executor 1' finished with non-zero exit value 1
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.10/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD FAILED in 9s
4 actionable tasks: 1 executed, 3 up-to-date
排查与解决思路

1. 对齐Gradle版本(核心解决方向)

你使用的外部Gradle版本是8.12,但当前IDEA版本支持的最高Gradle版本为8.11,版本不匹配是最可能的诱因:

  • 修改项目根目录下gradle/wrapper/gradle-wrapper.properties文件,将distributionUrl替换为https\://services.gradle.org/distributions/gradle-8.11-bin.zip,强制项目使用IDEA兼容的Gradle版本
  • 若允许,也可升级IDEA至支持Gradle 8.12的版本

2. 清理Gradle缓存与守护进程

缓存损坏或守护进程异常也会导致类加载失败:

  • 关闭IDEA,手动删除用户目录下的.gradle文件夹(Windows默认路径:C:\Users\<你的用户名>\.gradle)
  • 重启IDEA后,执行命令./gradlew clean build --no-daemon,强制重新构建并临时禁用守护进程,验证是否恢复正常

3. 检查Java模块配置

项目为Java模块(日志显示Project : => 'com.varankin.codesoft.jfx' Java module),模块配置可能干扰Gradle类路径:

  • 检查module-info.java是否包含测试相关的模块声明,确保测试代码能访问必要依赖
  • 可尝试暂时移除module-info.java,切换为普通Java项目模式运行Gradle测试,排查是否是模块配置导致的问题

4. 验证IDEA的Gradle配置

确保IDEA的Gradle设置正确:

  • 打开File > Settings > Build, Execution, Deployment > Build Tools > Gradle
  • 确认Gradle user home路径正确,且当前用户对该路径有读写权限
  • 选择Use Gradle from: 'gradle-wrapper.properties' file,避免使用本地安装的不兼容Gradle版本

5. 检查Windows系统权限

日志中出现的通道关闭异常,可能是系统权限导致Gradle进程无法正常通信:

  • 右键以管理员身份运行IDEA,再尝试执行Gradle任务
  • 检查项目所在文件夹的权限,确保当前用户拥有完整的读写权限

内容的提问来源于stack exchange,提问作者Nikolai Varankine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 05:53:18