我在控制面板的“系统”中的环境变量中创建了两个新变量,一个用于用户变量,一个用于系统变量。它们都被命名为JAVA_HOME,并且都指向

C: \ Sun jdk \ SDK \ \ bin

但出于某种原因,我在运行Java命令时仍然会得到以下错误…

BUILD FAILED
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:161: The following error  occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:141: The following error occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:137: Please set java.home to a JDK installation

Total time: 1 second
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish>lib\ant\bin\ant -f setup.xml
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Buildfile: setup.xml

我该如何解决这个问题?


当前回答

goto Mycomputer(这台PC) ->右键单击->选择属性->高级系统设置->环境变量->在系统变量中单击“新建”按钮并在变量名称和路径C:\Program Files\Java\ jdk1.8.0_131 were jdk在变量值中存在->单击确定。

在设置JAVA_HOME后关闭并重新打开命令提示符。有时更改不会反映在设置JAVA_HOME之前打开的cmd中。

你也可以通过终端设置JAVA_HOME: SET JAVA_HOME="C:\Program Files (x86)\Java\jdk1.8.0_131"

其他回答

查找JDK安装目录

首先,您需要知道Java Development Kit的安装路径。

打开JDK默认安装路径:

C:\Program Files\Java

应该有这样的子目录:

C:\Program Files\Java\jdk1.8.0_172

注意:最后只需要放置jdk的路径而不需要/bin(正如在很多地方所建议的那样)。C:\Java\jdk1.8.0_172\bin !


设置JAVA_HOME变量

有了JDK安装路径后:

右键单击桌面上的“我的电脑”图标,选择“属性”。 单击高级选项卡,然后单击环境变量按钮。 在“系统变量”下单击“新建”。 输入变量名JAVA_HOME。 输入变量值作为Java Development Kit的安装路径。 单击OK。 单击“应用更改”。

注意:您可能需要重新启动Windows

完整的文章在我的博客上:在Windows中设置JAVA_HOME变量。

对于那些仍然被这个问题难住的人(我尝试了以上所有的建议)——

如果您使用的是64位版本的Windows,并且已经安装了32位JDK,那么除了调整PATH变量外,您可能还需要调整注册表变量。

我绞尽脑汁,已经正确地设置了PATH变量——仍然无济于事——然后在我的注册表中只发现“空的”Java条目,似乎是修复“失败”的Java运行时环境的死胡同。

通过使用进程监视器来监视我试图开始的程序,以嗅出它在Java(运行时环境)的注册表中查找的位置,我得意地发现它在HKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\JavaSoft\Java运行时环境中查找32位版本的注册表项。

在该键中,您应该找到已安装的不同Java版本(过去和/或现在)的子键。单击最新版本的子密钥(例如,我的子密钥当前为1.7.0_25)。单击该子键后,您将看到右侧列出的注册表字符串值,特别是JavaHome和RuntimeLib。您需要修改这两个值的值,以分别反映当前文件夹和jvm.dll文件。

例如,在我的例子中,值(以前)分别设置在C:\Program Files (x86)\Java\jre7和C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll,这在我的机器上不存在。我必须将这些更新到C:\Program Files (x86)\Java\ jdk1.7.0_25\jre和C:\Program Files (x86)\Java\ jdk1.7.0_25\jre\bin\client\jvm.dll的当前文件夹和文件。

同样,这完全取决于您安装的Java (JDK和/或JRE)版本——32或64位——以及您使用的操作系统类型——32或64位。只需要知道它们反映在注册表中的不同位置(例如用于32位应用程序的Wow6432Node,在我的例子中,32位JDK安装在64位机器上)。

现在我已经更新了这两个注册表值,我的程序运行得完美无缺,不再出现问题或关于缺少Java运行时环境的抱怨(源于注册表)。

对我来说,有效的方法是将%JAVA_HOME%\bin添加到Path环境变量中,并将JAVA_HOME环境变量指向jdk文件夹。

goto Mycomputer(这台PC) ->右键单击->选择属性->高级系统设置->环境变量->在系统变量中单击“新建”按钮并在变量名称和路径C:\Program Files\Java\ jdk1.8.0_131 were jdk在变量值中存在->单击确定。

在设置JAVA_HOME后关闭并重新打开命令提示符。有时更改不会反映在设置JAVA_HOME之前打开的cmd中。

你也可以通过终端设置JAVA_HOME: SET JAVA_HOME="C:\Program Files (x86)\Java\jdk1.8.0_131"

一个映像可以解决这个问题。

更多的