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

我该如何解决这个问题?


当前回答

你可能想在Windows/System32文件夹中找到以下文件: ——java.exe ——javaw.exe ——javaws.exe

Because, the path variable is including these files, you can get a headache trying to figure out why the java -version or javac -version keeps pointing to the old JAVA_HOME: rename those files, take out the extension with an underscore, for instance. And then, you only will have to create the JAVA_HOME variable, add it to the path variable (e.g., %JAVA_HOME%) and append the "\bin" particle. This way you need to only change the JAVA_HOME variable pointing to different JRE or JDK and have multiple installations of java just by setting JAVA_HOME.

这也意味着最好手动安装Java,不需要安装程序,这样您就可以随意使用它。

其他回答

http://javahowto.blogspot.com/2006/05/javahome-vs-javahome.html

控制面板> Java, Java选项卡,单击“查看”按钮。在运行时参数中,放入:

-Djava.home=YOUR_PATH_HERE

或者当你执行Java时,你可以在命令中添加命令行开关:

java -Djava.home=PATH SomeJavaApp

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

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

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

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

更多的

在cmd中(暂时用于该cmd窗口):

set JAVA_HOME="C:\\....\java\jdk1.x.y_zz"

echo %JAVA_HOME%

set PATH=%PATH%;%JAVA_HOME%\bin

echo %PATH%

Eclipse: Window->Preferences->Java->已安装的jre

使用搜索功能确保列出了最新的Java安装;然后确保它是被检查的那个。这应该是一个JDK,而不是JRE。