java_home没有正确设置

时间:2012-10-15 15:05:58

标签: java installation java-home

我的机器上安装了2个Java。 1.5和1.6。对于这个项目,我需要1.5。我已将所有路径变量设置为适当的,即

echo %JAVA_HOME%
<PATH_TO_1.5_JDK>

这就是我想要的......但是当我做的时候

java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)

为什么选择java v 6进行java -version命令?

已更新 我已经检查了%PATH%变量,并且路径中出现的唯一java版本是1.5。我指的是SYSTEM VARIABLES变量,我使用的是Win7

6 个答案:

答案 0 :(得分:7)

选择Java 6是因为它首先出现在PATH环境变量中。它与JAVA_HOME变量无关,除非您使用JAVA_HOME变量指定PATH变量

将新的USER变量PATH设置为JAVA_HOME \ bin,将解决您的问题

答案 1 :(得分:3)

如果您在命令行上运行java命令,则重要的环境变量为%PATH%:如果JDK-1.6 bin 目录的路径先于路径上1.5 bin 目录的路径,然后在命令行上运行java将使用1.6版本。

JAVA_HOME环境变量被各种其他程序用于定位JDK,例如ant,某些IDE和第三方库。

如果您正在为项目使用特定的IDE,那么您需要了解它如何定位JVM。如果您要在命令行上进行编译,则调整PATH以使1.5安装在1.6安装之前,或者使用编译器和VM的完整路径。

答案 2 :(得分:1)

JAVA_HOME与执行java的PATH不同。

阅读本文,您将获得清晰的想法

http://docs.oracle.com/javase/tutorial/essential/environment/paths.html

答案 3 :(得分:1)

我遇到了类似的问题:

路径没有改变,因为特定于用户的JAVA_HOME指向了一些错误的Java版本。

键入&#34;编辑帐户的环境变量&#34;在运行Windows时,我在用户变量中看到了另一个JAVA_HOME。我删除了它,然后使用了正确的Java版本。

答案 4 :(得分:0)

AFAIK,HotSpot Java命令都没有使用JAVA_HOME:

javajavac等命令基于PATH变量,位于Windows,UNIX,Linux和基于BSD的操作系统(如MacOS)上。通过PATH的命令位置通常是命令shell和/或OS功能。

某些第三方工具(如Ant,Maven,Tomcat等)使用JAVA_HOME变量来定位要使用的Java安装。但是其他工具忽略JAVA_HOME并使用特定于应用程序的配置机制(例如Eclipse)或一些shell东西来确定安装位置(例如)java命令通过PATH找到的位置

答案 5 :(得分:0)

使用Java 7和Java 8时遇到了同样的问题。

解决方案: 从PATH变量(系统变量)中删除以下条目:

c:\ProgramData\Oracle\Java\javapath\