2012-10-15 179 views
3

我在我的机器上安装了2个Java。 1.5和1.6。对于这个项目,我需要1.5。我已经设定我的所有路径变量到合适的即java_home没有正确设置

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命令?

UPDATED 我已经检查了%PATH%变量,路径中出现的唯一Java版本是1.5。我在这里指的是SYSTEM VARIABLES变量,我正在使用Win7

+3

你检查PATH变量吗? – Azuan

+0

你使用什么操作系统? –

+0

你是否在回报java版本1.6的同一终端中回显%PATH%? – pb2q

回答

7

选择Java 6是因为它首先引入了PATH环境变量。它无关JAVA_HOME变量,直到除非你使用JAVA_HOME变量

设置一个新的用户变量PATH作为JAVA_HOME \ BIN指定PATH变量,会如果你正在运行的java解决您的问题

+0

我更新了我的问题 –

+0

呀! 同样的问题在这里,解决了设置一个新的USER变量JAVA_HOME为 Kummo

3

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

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

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

+0

我更新了我的问题 –

0

据我所知,没有热点的Java命令使用JAVA_HOME任何东西:

命令如javajavac基于PATH变量的位置,在Windows,UNIX,Linux和基于BSD的操作系统,如苹果系统。通过PATH命令的位置通常是命令外壳和/或OS功能。

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

0

我不得不使用Java 7和Java 8同样的问题。

解决方法:从PATH变量 删除(系统变量)下面的条目:

c:\ProgramData\Oracle\Java\javapath\ 
1

我有一个类似的问题,我定:

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

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