我正在使用Windows .bat脚本,并将JAVA_HOME
设置为C:/Program Files/Java/jdk1.6.0_32
当我做java -version
时,它仍会显示1.3
我该如何解决这个问题?我做错了什么?
答案 0 :(得分:9)
尝试%JAVA_HOME%\bin\java -version
如果您修改JAVA_HOME
,通常最好使用绝对路径(使用java
)调用JAVA_HOME
,因为新的二进制文件可能不在路径中(并且那么Windows将加载错误的二进制文件。
答案 1 :(得分:9)
对我来说问题出在我的PATH变量中,C:\ProgramData\Oracle\Java\javapath;
是在%JAVA_HOME%\bin;
之前由java windows install添加的。
所以我echo %JAVA_HOME%
指向JDK7,java -version
指向jdk8。
我要在%JAVA_HOME%\bin;
之前加C:\ProgramData\Oracle\Java\javapath;
,以便java -version
显示jdk7。
答案 2 :(得分:6)
确保PATH
环境变量指向%JAVA_HOME%\bin
。
答案 3 :(得分:1)
请确保不要混合系统变量路径和用户变量系统路径。在没有绝对路径的情况下调用java
我感觉很好(当我知道如何配置JAVA_HOME
和PATH
时)。
答案 4 :(得分:0)
从命令行调用java -version
会导致cmd.exe在“已知”目录上执行查找。 “已知”表示PATH环境变量。看来你的PATH包含一个java 1.3 bin
文件夹,而不是1.6。
JAVA_HOME是另一个变量,它由java包装器或执行某些java东西的脚本使用(例如,不仅仅是)。
尝试这样做:
SET JAVA_HOME=C:/Program Files/Java/jdk1.6.0_32
%JAVA_HOME%/bin/java -version
在需要的地方添加引号。
答案 5 :(得分:0)
今天的情况类似-两台Windows 10设备-都具有JRE 1.6和1.7。
键入时
Java -version
一个设备显示1.6,另一个显示1.7。
这阻止了我运行第三方JAR在显示1.6的设备上安装某些软件(运行java -version时在显示1.7的设备上运行良好),
java -jar ThirdParty.jar
由于JAR必须在1.7之前运行。
原因是在PATH环境变量中-一个设备在PATH列表中的位置最先是1.6,将1.7位置移到1.6位置上方会导致使用Java版本的一致性,并允许我安装软件。 / p>