【问题标题】:java -version returns different version to that as specified in PATHjava -version 返回与 PATH 中指定的版本不同的版本
【发布时间】:2014-03-10 22:36:46
【问题描述】:

我的目的是使用 MCP 对 Minecraft 进行一些改装。为此,我的 Java JDK 需要在系统 PATH 中指定并正常工作。不幸的是,它不起作用,因为键入“java -version”会返回我用于运行 Minecraft (JRE7) 的版本,而不是我在 PATH (JDK6) 中指定的版本。 (注意:JDK6 应该是为此所需要的,而 JRE 显然无论如何也不能用于开发。)

这是我的完整路径:

C:\Program Files\Java\jdk1.6.0_45\bin;C:\Program Files (x86)\OpenVPN\bin;C:\Program Files (x86)\Google\google_appengine\

指定的JAVA_HOME:

C:\Program Files\Java\jdk1.6.0_45

这是“java -version”的结果,即使在安装 JDK 并设置 PATH 后完全重新启动系统后:

java版本“1.7.0_45”

java(TM) SE 运行时环境(内部版本 1.7.0_45-b18)

java HotSpot(TM) 64 位服务器 VM(构建 24.45-b08,混合模式)

我们将大力提供帮助,谢谢!

【问题讨论】:

  • 试试java.exe所在的地方。 windows的系统目录下通常有一个java.exe。
  • Windows 安装程序有一个非常烦人的习惯:它将java.exejavaw.exe 放入Windows\System32,因此最后安装的JDK 将始终是路径上的第一个。我通常在安装后立即删除这些文件
  • 那是a_horse_with_no_name!既然我不能回答我自己的问题,你也可以这样做,我可以把它选为正确答案:)
  • 添加到@a_horse_with_no_name 的评论中,java.exe 和 javaw.exe 文件也将在您的 sysWOW64 文件夹中,我不确定这是否会导致问题,但最好知道。
  • 从控制面板卸载 jre。

标签: java


【解决方案1】:

x_a_horse_with_no_name 的评论成功了!我只是在 C:\Windows\System32(& 在 \SysWOW64)中重命名了 java.exe 和 javaw.exe,从而迫使 Windows 改为从 PATH 中读取。我的猜测是 JDK6 安装拒绝覆盖 JRE7 文件,因为它们是较新的或其他东西。无论如何,问题解决了,谢谢!

【讨论】:

    猜你喜欢
    • 2021-05-09
    • 2013-11-01
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 2019-01-12
    • 1970-01-01
    • 2019-12-17
    • 2015-11-08
    相关资源
    最近更新 更多