我正在运行 Windows 7 Professional x64,并安装了以下 Java 版本:
x64
- C:\Program Files\Java
- jdk1.6.0_24
- jdk1.7.0_04
- jdk1.7.0_07
- jre6
- jre7
x86
- C:\Program 文件 (x86)\Java
- jre1.6.0_07
- jre6
- jre7
在我的环境变量中我有PATH
包含C:\Program Files\Java\jdk1.6.0_24\bin
并JAVA_HOME
设置为C:\Program Files\Java\jdk1.6.0_24\bin
然而运行java -version
报告
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
当我的环境变量中没有对此版本的 Java 的引用时,会出现什么情况呢?
任何关于这个问题的帮助都会很棒,因为我正在尝试运行阿帕奇蚂蚁使用 Java 1.6。
答案1
您可能已将 java.exe 复制到系统路径之一(据我所知,这是 Java 安装程序的默认行为)。要检查运行“java -version”时实际执行的内容,请从命令行运行:
for %I in (java.exe) do @echo %~$PATH:I
它会告诉您它在哪里。
答案2
安装公共 JRE(由 Java 插件使用)时,还会在 C:\WINNT\system32 中创建一个 java.exe 文件(IIRC)。执行的可能是这个 java 命令,因为 C:\WINNT\system32 位于 PATH 中的 JDK/bin 目录之前。
将 JDK/bin 目录放在 PATH 的开头
答案3
PATH 文件夹按其出现的顺序进行检查。尝试将 java 路径移到前面。如果此操作能解决问题,则说明您的路径上某处有另一个版本。
答案4
正如我最近发现的,请确保您JAVA_HOME
在“系统变量”部分而不是“用户变量”部分进行定义。
我%JAVA_HOME%\bin
开始时已经这样做了PATH
,但是没有起作用 - 添加JAVA_HOME
到系统后问题得以解决。