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

Eclipse创建新Gradle项目未生成任何文件问题求助

解决Eclipse+Gradle+JDK19创建项目空文件夹问题

问题详情

  • 环境:全新安装的Eclipse IDE,搭配JDK 19、Gradle 7.6和Buildship插件
  • 现象:通过「新建->项目」创建Gradle项目时,向导正常弹出,但创建完成后仅生成空文件夹,无build.gradle、Java库等文件;普通Java项目可正常创建
  • 核心报错:org.gradle.internal.jvm.JavaHomeException: 指定的javaHome无效,无法找到java可执行文件,尝试路径为C:\Program Files\Java\jdk-19\bin\java.exe
  • 已尝试操作:重装Gradle和Buildship,问题未解决

错误日志(中文翻译版)

org.gradle.tooling.GradleConnectionException: 无法使用与Gradle发行版'https://services.gradle.org/distributions/gradle-7.4.2-bin.zip'的连接执行构建。
    at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:55)
    at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29)
    at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:43)
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:69)
    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:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1589)
    at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)
    at org.gradle.tooling.internal.consumer.DefaultBuildLauncher.run(DefaultBuildLauncher.java:83)
    at org.eclipse.buildship.core.internal.workspace.InitializeNewProjectOperation.initProjectIfNotExists(InitializeNewProjectOperation.java:60)
    at org.eclipse.buildship.core.internal.workspace.InitializeNewProjectOperation.runInToolingApi(InitializeNewProjectOperation.java:45)
    at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager$WorkspaceRunnableAdapter.run(DefaultToolingApiOperationManager.java:58)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2380)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2405)
    at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager.run(DefaultToolingApiOperationManager.java:39)
    at org.eclipse.buildship.core.internal.operation.DefaultToolingApiOperationManager.run(DefaultToolingApiOperationManager.java:33)
    at org.eclipse.buildship.ui.internal.wizard.project.ProjectImportWizardController$5.run(ProjectImportWizardController.java:208)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: org.gradle.internal.jvm.JavaHomeException: 指定的javaHome无效,无法找到java可执行文件。尝试路径:C:\Program Files\Java\jdk-19\bin\java.exe
    at org.gradle.internal.jvm.Jvm.findExecutable(Jvm.java:183)
    at org.gradle.internal.jvm.Jvm.getJavaExecutable(Jvm.java:208)
    at org.gradle.internal.jvm.Jvm.forHome(Jvm.java:119)
    at org.gradle.launcher.daemon.context.DaemonCompatibilitySpec.javaHomeMatches(DaemonCompatibilitySpec.java:64)
    at org.gradle.launcher.daemon.context.DaemonCompatibilitySpec.whyUnsatisfied(DaemonCompatibilitySpec.java:40)
    at org.gradle.launcher.daemon.context.DaemonCompatibilitySpec.isSatisfiedBy(DaemonCompatibilitySpec.java:35)
    at org.gradle.launcher.daemon.context.DaemonCompatibilitySpec.isSatisfiedBy(DaemonCompatibilitySpec.java:25)
    at org.gradle.launcher.daemon.client.DefaultDaemonConnector.getCompatibleDaemons(DefaultDaemonConnector.java:192)
    at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connectToIdleDaemon(DefaultDaemonConnector.java:157)
    at org.gradle.launcher.daemon.client.DefaultDaemonConnector.connect(DefaultDaemonConnector.java:125)
    at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:145)
    at org.gradle.launcher.daemon.client.DaemonClient.execute(DaemonClient.java:99)
    at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:44)
    at org.gradle.tooling.internal.provider.DaemonBuildActionExecuter.execute(DaemonBuildActionExecuter.java:30)
    at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:60)
    at org.gradle.tooling.internal.provider.LoggingBridgingBuildActionExecuter.execute(LoggingBridgingBuildActionExecuter.java:37)
    at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:222)
    at org.gradle.tooling.internal.provider.ProviderConnection.run(ProviderConnection.java:148)
    at org.gradle.tooling.internal.provider.DefaultConnection.getModel(DefaultConnection.java:202)
    at org.gradle.tooling.internal.consumer.connection.CancellableModelBuilderBackedModelProducer.produceModel(CancellableModelBuilderBackedModelProducer.java:54)
    at org.gradle.tooling.internal.consumer.connection.PluginClasspathInjectionSupportedCheckModelProducer.produceModel(PluginClasspathInjectionSupportedCheckModelProducer.java:38)
    at org.gradle.tooling.internal.consumer.connection.AbstractConsumerConnection.run(AbstractConsumerConnection.java:64)
    at org.gradle.tooling.internal.consumer.connection.ParameterValidatingConsumerConnection.run(ParameterValidatingConsumerConnection.java:49)
    at org.gradle.tooling.internal.consumer.DefaultBuildLauncher$1.run(DefaultBuildLauncher.java:97)
    at org.gradle.tooling.internal.consumer.DefaultBuildLauncher$1.run(DefaultBuildLauncher.java:89)
    at org.gradle.tooling.internal.consumer.connection.LazyConsumerActionExecutor.run(LazyConsumerActionExecutor.java:143)
    at org.gradle.tooling.internal.consumer.connection.CancellableConsumerActionExecutor.run(CancellableConsumerActionExecutor.java:45)
    at org.gradle.tooling.internal.consumer.connection.ProgressLoggingConsumerActionExecutor.run(ProgressLoggingConsumerActionExecutor.java:61)
    at org.gradle.tooling.internal.consumer.connection.RethrowingErrorsConsumerActionExecutor.run(RethrowingErrorsConsumerActionExecutor.java:38)
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:67)
    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:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)

解决方案

  • 验证JDK路径与权限

    1. 手动检查C:\Program Files\Java\jdk-19\bin\java.exe是否存在,若不存在则重新下载安装官方JDK19
    2. 若路径存在,右键以管理员身份运行Eclipse,避免因权限不足无法读取JDK文件
  • 修正Eclipse的JRE配置

    1. 打开Eclipse,依次进入Window > Preferences > Java > Installed JREs
    2. 确认已添加JDK19,路径需指向C:\Program Files\Java\jdk-19(而非内部的jre文件夹)
    3. 勾选该JDK作为默认选项,点击Apply和OK保存配置
  • 指定Gradle的Java环境

    1. 进入Window > Preferences > Gradle > Arguments
    2. 在Java Home选项中手动指定JDK19的安装路径C:\Program Files\Java\jdk-19,不要依赖系统环境变量
    3. 重启Eclipse后重试创建项目
  • 检查系统环境变量

    1. 确认系统JAVA_HOME变量指向C:\Program Files\Java\jdk-19,Path变量中包含%JAVA_HOME%\bin
    2. 重启电脑使环境变量生效,再打开Eclipse尝试操作
  • 统一Gradle版本
    日志显示实际使用的是Gradle7.4.2(而非手动安装的7.6),可通过以下方式修正:

    1. 创建项目时,在向导中选择Use local Gradle distribution,指向本地Gradle7.6的安装路径
    2. 若已生成空项目,手动添加build.gradle和settings.gradle,并在settings.gradle中指定rootProject.name = "你的项目名",同时设置Gradle版本为7.6

内容的提问来源于stack exchange,提问作者James Brafin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 22:10:41