通过 Eclipse 错误“系统找不到系统 Java 编译器”运行 Gradle 项目

Posted

技术标签:

【中文标题】通过 Eclipse 错误“系统找不到系统 Java 编译器”运行 Gradle 项目【英文标题】:Running Gradle project via Eclipse errors "system Cannot find System Java Compiler" 【发布时间】:2013-05-30 14:05:33 【问题描述】:

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

system 找不到系统 Java 编译器。

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

无法使用 Gradle 安装 'C:\gradle-1.2-all\gradle-1.2' 执行构建。

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

【问题讨论】:

【参考方案1】:

转到文件->其他设置->默认项目结构

现在设置您的 JDK 位置

【讨论】:

@cyberPrivacy for "eclipse" 用户关注此***.com/a/25239786/3758898【参考方案2】:

在Eclipse的Preference(主菜单:Window -> Preferences)中,选择

Gradle -> Arguments -> Java Home,选择“Workspace JRE”。

然后在您的工作区中选择一个 jdk。

在我的笔记本电脑上是“jdk1.6.0_45”。您的应该是 JDK 1.7 主文件夹,例如“/usr/lib/jvm/java-7-openjdk-amd64/”。

【讨论】:

谢谢,在创建新工作区并开始使用 Gradle 后,我遇到了完全相同的问题。我只需要在 Eclipse 中设置我的 JDK,然后按照上面的说明进行操作。 嗨,我不确定为什么我在 Gradle - eclipse - 窗口 - 首选项中没有得到 Arguments 选项。【参考方案3】:

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

所以你要做的是在你的项目级 build.gradle 文件中检查 gradle 版本,如果它与当前安装的版本不匹配,请更新它。

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

【讨论】:

非常感谢。我尝试了与环境变量和 jdk 版本相关的所有内容,这一直是问题所在。错误的 gradle 版本。有史以来最糟糕的错误消息。【参考方案4】:

在 Gradle 任务视图 -> 构建 -> 右键单击​​ -> 打开 Gradle 配置 -> JAVA_HOME -> 并输入环境的当前值,例如 C:\Program Files\Java\jdk1.7.0_79

希望对你有帮助

【讨论】:

【参考方案5】:

我尝试了以下,但在 Eclipse (luna) 中,运行为“gradle build Gradle build”,仍然失败。

    更改 JAVA_HOME

    Preference, Gradle -> Arguments -> Java Home,选择“Workspace JRE”。

解决方案:进入命令行,运行gradle buildas answered by user3754672,然后返回Eclipse,一切正常。

【讨论】:

【参考方案6】:

您可能还没有安装 JDK。即使你有“jdk1.7”,你也可能只有运行时环境。您可能需要为软件包安装“-devel”选项,例如,这两个都是必需的:

java-1.7.0-openjdk java-1.7.0-openjdk-devel

如果您找不到合适的软件包,请告诉我们您的发行版以及您拥有的 jdk1.7 软件包的确切名称,以便我们提供更多帮助。

【讨论】:

【参考方案7】:

虽然您可能在某处安装了完整的 JDK,并由 JAVA_HOME 指向,但我认为 Eclipse Gradle 插件不会默认使用它。我在 Springsource Groovy/Grails Tool Suite 3.3.0(Gradle IDE 3.3.0.201307040643 插件)中运行 Gradle“快速启动”应用程序的“测试”目标时遇到了同样的问题。

如果您从“外部工具”菜单(在“带有手提箱图标的箭头”下)重新运行失败的 Gradle 目标,在“参数”选项卡下的“程序参数”中添加“--debug”,它将在控制台中向您展示它使用的 JVM/JDK。我可以通过在 Arguments 选项卡的 Java Home 部分取消选择“Use Gradle wrapper's default”来解决此问题,并将其替换为指向我已安装的 1.7 JDK 的执行环境设置。我确信有一种方法可以让它默认执行此操作,因此您不必配置每个目标的运行配置,但这种方法应该可以解决眼前的问题。

【讨论】:

【参考方案8】:

我认为包装的 gradle 使用与 eclipse 相同的 java。由于 Eclipse 似乎默认使用 jre,因此您可以得到问题中提到的问题。 试试这个:转到你的 eclipse.ini 并添加 -vm 参数,如下所示:

-vm
c:/java/jdk1.8/javaw.exe

【讨论】:

【参考方案9】:

问题

使用 Eclipse -> gradle -> 选择要执行的任务并 错误“...找不到系统 java 编译器。”

解决方案

转到您的 build.gradle 路径所在的路径...并使用 cmd 手动键入 gradle build

完成。

返回 Eclipse 并执行 gradle 任务。它将再次起作用!

【讨论】:

这不是破坏了使用 ide 的一些目的吗?它也对我有用,但不是理想的整体解决方案。 这篇文章告诉我我的 Eclipse 配置错误。【参考方案10】:

将你的 gradle 更改为 min:classpath 'com.android.tools.build:gradle:2.0.0'然后 Android Studio 会要求你更新它。您将制作和更新 gradle,之后它将起作用。这就是我为我修复它的方式。

【讨论】:

【参考方案11】:

我删除了一些旧的 jdk 并遇到了同样的问题。上述过时的解决方案均无效。 Gradle 以其无限智慧将 JDK 位置存储在 C:\Users\User.gradle\gradle.properties 中。据我所知,此属性无法通过 IDE 访问。

【讨论】:

【参考方案12】:

我的 Eclipse 版本: 面向 Web 开发人员的 Eclipse Java EE IDE。 版本:光子发布(4.8.0)

右键单击“gradle.build”,然后选择“运行方式”->“运行配置”。在左侧,选择“Gradle Project”下的“gradle.build”。在右侧,您可以看到类似“Gradle Tasks”、“Project Settings”、“Java Home”等内容。选择“Java Home”,您会看到有一个输入框。把你的JDK路径放在那里。 (类似于:C:\Program Files\Java\jdk-10)然后运行。

【讨论】:

以上是关于通过 Eclipse 错误“系统找不到系统 Java 编译器”运行 Gradle 项目的主要内容,如果未能解决你的问题,请参考以下文章

为啥在eclipse中这个程序无法编译通过?

为啥通过保存文件修复了 Eclipse C++“符号 'std' 无法解析”错误?

Eclipse启动tomcat后404错误

Play Framework Eclipse 项目转换错误

怎样去掉Eclipse中的Js错误提示

通过 HTTPS 从 Eclipse 推送到我的 GitHub 存储库停止工作:“git-receive-pack not allowed”错误