找不到tools.jar。请检查C:\ Program Files \ Java \ jre1.8.0_151是否包含有效的JDK安装


82

即使我手动配置了JDK项目结构 文件/项目结构,它仍然显示此错误。

`出了什么问题:任务':sample:compileReleaseJavaWithJavac'的执行失败。

找不到tools.jar。请检查C:\ Program Files \ Java \ jre1.8.0_151是否包含有效的JDK安装。

我很困惑为什么它仍在寻找C:\ Program Files \ Java \ jre1.8.0_151而不是JDK


3
JAVA_HOME环境变量的当前值是多少?而且您的JRE高PATH吗?为什么还要安装JRE(JDK包括一个)?
艾略特·弗里施

我在c:/ windows / program Files / java中拥有jdk1.7.0_79,jdk1.8.0_144,jre1.8.0_151
Viswesvar Sekar

1
这不能回答我的三个不同问题中的任何一个。还有,c:/windows/program Files/?你确定吗?
艾略特·弗里施

i.stack.imgur.com/VxQ2W.jpg,对于第二个,JRE与终端C:\ Program Files \ Java中提到的相同,是我保留JDK的目录,默认情况下,在Android Studio中是配置此目录在我的工作室C:\ Program Files文件\的Android \ Android Studio中\ jre的
Viswesvar谢卡尔

echo %PATH%echo %JAVA_HOME%
艾略特·弗里施

Answers:


79

最后,在这里我找到了解决方案。

我将jdk路径添加org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_144gradle.properties文件并进行了重建。现在可以使用了。


9
这就像一个魅力。gradle.properties文件位于项目根目录中。如果没有创建新文件gradle.properties,则对于Windows而言,这对我有用org.gradle.java.home = C:\\ Program Files \\ Java \\ jdk1.8.0_171
VijayaKumar Thangavel '18

1
在osx tho上怎么样?任何想法如何走那条路?
MinaMakhtar

我收到此错误值org.gradle.java.home的'C:\ Program Files \ Java \ jdk1.8.0_144'值Gradle属性无效(提供的Java home无效)
Harry Sharma

73
ERROR: Could not find tools.jar. Please check that C:\Program Files\Java\jre1.8.0_121 contains a valid JDK installation

tools.jar从复制C:\Program Files\Java\jdk1.8.0_121\libC:\Program Files\Java\jre1.8\lib

现在已经解决了问题。


1
我刚刚将Android Studio从3.2版更新到了3.3版,然后遇到了这个问题。经过数小时的搜寻,您的解决方案终于对我有所帮助。谢谢!
Alexei Artsimovich

在尝试了许多解决方案(更换编辑器,安装新的插件...)之后,这个解决了我的问题,谢谢。
Noblesse

这个解决方案对我来说很好。手动复制/粘贴tools.jar文件而感到震惊。无论如何都是很好的解决方案。
Dipak Bari

该解决方案为我工作过,谢谢😃但是,这是非常奇怪的🤨This真正需要自动完成😐
masoudmanson

该死的JDK。也无法将其添加到系统变量中。但是只需复制tools.jar就可以了。谢谢。
kwoxer

26

刚发生在我身上。

显然,Java的自动更新程序为我安装并配置了JRE的新版本,同时保留了旧的JDK。因此,即使我确实有一个JDK,它也与当前的“活动” JRE不匹配,这导致了错误。

将匹配版本的JDK下载到当前已安装的JRE(在OP情况下为151),可以解决问题。


您应该获得更多支持。毫无疑问,这是最佳和正确的答案
Daniel S.19年

太棒了,这让我头疼。
Armar

应该是公认的答案!在这里和那里玩路径和复制废话的所有其他方式都有误导性。
giorgio79

14

我有同样的问题,并像这样解决:

  1. 如果尚未安装,请从Oracle网站上安装与JRE相同版本号的JDK。
  2. 此外,将JAVA_HOME添加到Windows的环境变量中。
  3. 重新启动您的终端或开发环境以加载新的JAVA_HOME值。

系统环境变量中的JAVE_HOME


3

当JDK和JRE在您的系统上安装了不同的版本时,就会发生这种情况。使用匹配的JRE版本更新JDK。还要验证系统变量路径是否具有来自相同JDK版本的bin值。


2

我要做的是从PC上卸载Java,然后再次从Oracle下载并安装JDK。在此之后,它运行完美。我认为问题是因为JRE和JDK更新版本彼此不同。


2

通过从控制面板卸载所有Java更新和Java并重新安装JDK,解决了我的错误


2

我的问题有两个:

  1. 我安装了JRE,但没有安装JDK。
  2. 我没有设置JAVA_HOME环境变量。

注意:我正在使用Fedora Linux。

要解决第一个问题,我按照以下说明进行操作

要解决第二个问题,我仅在~/.bashrc文件中添加了以下行:

export JAVA_HOME=/usr/lib/jvm/java/

我必须重新启动IDE和终端,以确保更改~/.bashrc生效。


1

问题是您的gradle构建没有找到JAVA_HOME路径或JDK文件夹。因此,您可以在gradle.properties中声明路径,例如org.gradle.java.home = C:\ Program Files \ Java \ [或您的jdk文件夹名称]

使用本指南来使用gradle.properties。

或者(我更喜欢这种解决方案)在systmem变量中包含JAVA_HOME路径,然后重新启动CMD。

在此处输入图片说明


1

我所做的是从此处下载JDK ,启动Windows命令提示符(windows + r CMD),然后使用以下命令将环境变量JAVA_HOME设置为c:\ Program Files \ Java \ jdk-14:

set JAVA_HOME="c:\Program Files\Java\jdk-14"

然后运行我想运行的程序。此后失败了,但是在另一个问题上。


0

请确保JDK和jre的版本相同,例如,如果您的JRE版本为1.8.0_201,则JDK版本应为 1.8.0_201


0

用于tools.jar的文件位于C:\ Program Files \ Java \ jdk1.8.0_201 \ lib中。我在Eclipse中更改了已安装的jre。Windows-> Preferences-> Java->已安装的JRE,并将默认的jre指向您的jdk所在的位置。


0

如果您的路径也太长,可能会发生这种情况。我通过将Java安装移动到

C:\ Java \ jdk1.8.0_211


0

对我有用的是更新Android Studio并更新JAVA_HOME和ANDROID_HOME环境变量。我相信这是由于我更新Java版本(通过updater)但未更新jdk引起的。


0

在Eclipse中

右键单击项目-> Java构建路径->库

  1. 删除JRE
  2. 单击添加库-> JRE系统库->下一步->备用JRE->已安装的JRE->添加JDK并选择并应用

非常感谢,我所要做的就是通过这种方法将jre的版本更新为1.8,并且有效
rachit_verma

0

您必须将jdk路径org.gradle.java.home = C:\ Program Files \ Java \ jdk1.8.0_102添加到gradle.properties中,以确保编写了安装在系统中的jdk版本。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.