我的机器上安装了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
答案 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:
java
和javac
等命令基于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\