我在控制面板的“系统”中的环境变量中创建了两个新变量,一个用于用户变量,一个用于系统变量。它们都被命名为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

我该如何解决这个问题?


当前回答

如果安装JDK后没有重新启动计算机,请重新启动计算机。

如果你想在使用Java之前制作一个可移植的Java并设置路径,只需制作一个我下面解释的批处理文件。

如果您想在计算机启动时运行此批处理文件,只需将批处理文件快捷方式放在启动文件夹中。在windows 7的启动文件夹是“C:\Users\user\AppData\漫游\Microsoft\ windows \开始菜单\程序\启动”

做一个这样的批处理文件:

set Java_Home=C:\Program Files\Java\jdk1.8.0_11
set PATH=%PATH%;C:\Program Files\Java\jdk1.8.0_11\bin

注意: Java_home和path是变量。你可以随意设置任何变量。 例如,设置amir=good_boy,你可以通过%amir%看到amir,或者通过%java_home%看到java_home

其他回答

您需要将其设置为C:\Sun\SDK\jdk(假设这是jdk的安装位置-这不是默认值)-不要将\bin放在C:\Sun\SDK\jdk\bin中。

如果你的应用程序只在你作为当前用户登录时运行,那么把它放在用户变量中——如果它需要为系统上的所有用户运行,那么把它放在系统变量中。

您可能还需要将%JAVA_HOME%\bin添加到路径中(这也取决于您是仅从用户运行它还是从所有用户运行它,包括系统)

Windows 7

转到控制面板\所有控制面板项\用户帐户使用浏览器(不是Internet Explorer!) 或 点击开始按钮 点击你的图片 改变环境变量 新… (如果您没有足够的权限将其添加到系统变量部分,请将其添加到用户变量部分) 添加JAVA_HOME为变量名,添加JDK位置为变量值> OK

测试:

打开一个新的控制台(cmd) 输入set JAVA_HOME 期望输出:JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60

在将Java目录添加到PATH变量时,您可能希望将其放在PATH变量的开头。我有一个问题,将Java目录放在PATH的末尾将不起作用。经过检查,我在我的Windows\System32目录中找到了java.exe,看起来第一个赢了,当你的PATH中有几个同名的文件时…

在对这里的大多数解决方案进行了数小时的研究之后,我只需要安装32位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"