通过 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 build
as 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 C++“符号 'std' 无法解析”错误?
通过 HTTPS 从 Eclipse 推送到我的 GitHub 存储库停止工作:“git-receive-pack not allowed”错误