在Eclipse中运行Gradle项目时出现“系统找不到Java编译器”的错误。

40
当我通过Eclipse运行Gradle项目时,出现以下错误。

系统找不到Java编译器。

请确保您已安装JDK(而不仅仅是JRE),并将JAVA_HOME环境变量配置为指向相应的目录。

无法使用Gradle安装程序“C:\ gradle-1.2-all\ gradle-1.2”执行构建。

但我已经安装了JDK 1.7并设置了JAVA_HOME环境变量。
12个回答

62

进入文件 -> 其他设置 -> 默认项目结构

输入图像描述

现在设置你的JDK位置

输入图像描述


@cyberPrivacy 如果您是 "eclipse" 用户,请按照以下步骤操作:https://dev59.com/UGQn5IYBdhLWcg3wVF7i#25239786 - Kishan Vaghela

52
在Eclipse的首选项(主菜单:窗口->首选项)中,选择Gradle -> Arguments -> Java Home,选择“Workspace JRE”。然后在您的工作区中选择一个jdk。在我的笔记本电脑上是“jdk1.6.0_45”。您的应该是JDK 1.7的主目录,类似于“/usr/lib/jvm/java-7-openjdk-amd64/”。

谢谢,我在创建新的工作空间并开始使用Gradle后遇到了完全相同的问题。我只需要在eclipse中设置我的JDK,并按照您上面的指示进行操作。 - medloh
4
嗨,我不确定为什么在Gradle - Eclipse - Window - Preferences中没有获取参数选项。 - Delli Kilari

15

即使所有系统变量都已设置正确,您仍可能面临此问题。通常在使用来自Github等外部代码时会发生这种情况。

因此,您需要检查项目级别build.gradle文件中的gradle版本,如果与当前安装的版本不匹配,则需要更新。

buildscript {
    //other setupps
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0' //update this to your current version
    }
}

3
非常感谢。我尝试了所有与环境变量和jdk版本相关的内容,而这正是问题所在。Gradle版本错误。这是最糟糕的错误信息。 - eirik

13
在Gradle任务视图中 -> 构建 -> 右键单击-> 打开Gradle配置 -> JAVA_HOME -> 并将您当前环境的值放在其中,例如C:\Program Files\Java\jdk1.7.0_79。
希望这可以帮助您。

4
我尝试了以下方法,但在Eclipse(luna)中,“运行”选项下的“gradle build Gradle build”仍然失败。
  1. 更改JAVA_HOME
  2. 首选项,Gradle -> Arguments -> Java Home,选择“Workspace JRE”。
解决方案:使用命令行运行gradle build (由user3754672回答),然后返回Eclipse,一切正常。

3
虽然您可能已经在JAVA_HOME指定了完整的JDK安装路径,但我认为Eclipse Gradle插件默认不会使用它。我在Springsource Groovy/Grails Tool Suite 3.3.0(Gradle IDE 3.3.0.201307040643 plugin)中运行Gradle "quickstart"应用程序的“test”目标时遇到了同样的问题。
如果您在“外部工具”菜单(位于“带有手提箱图标的箭头”下方)中重新运行失败的Gradle目标,并在参数选项卡下的“程序参数”中添加“--debug”,它会在控制台中显示它使用哪个JVM/JDK。我成功解决了这个问题,通过在参数选项卡的Java Home部分取消选择“使用Gradle wrapper的默认设置”,并替换为指向我已安装的1.7 JDK的Execution Environment设置。我相信有一种方法可以使它默认执行此操作,以便您不必为每个目标运行配置进行配置,但这种方法应该可以解决即时问题。

3
很可能您没有安装JDK。尽管您拥有“jdk1.7”,但可能只有运行时环境。您可能需要安装软件包的“-devel”选项,例如,这两个都是必需的:
  • java-1.7.0-openjdk
  • java-1.7.0-openjdk-devel
如果找不到合适的软件包,请告诉我们您的发行版和您拥有的jdk1.7软件包的确切名称,以便我们提供更多帮助。

3
我认为封装的Gradle使用与Eclipse相同的Java。由于Eclipse似乎默认使用jre,因此您可能会遇到问题。请尝试以下步骤:打开eclipse.ini文件并添加如下-vm参数:
-vm
c:/java/jdk1.8/javaw.exe

2

将您的gradle更改为最小版本:classpath 'com.android.tools.build:gradle:2.0.0',然后Android Studio会要求您进行更新。 您将完成gradle的更新,之后它将正常工作。这就是我解决它的方法。


2

问题

使用Eclipse -> gradle -> 选择任务执行时出现错误 "...无法找到系统Java编译器。"

解决方案

前往你的 build.gradle 路径并手动使用cmd输入gradle build <- 这将起作用。

完成。

回到Eclipse并执行gradle任务。它将再次正常工作!


这难道不会有些违背使用 IDE 的初衷吗?虽然这个方法对我也有效,但并不是期望的完整解决方案。 - dethSwatch
这篇文章让我意识到我的Eclipse配置有误。 - kiltek

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