安装了 Java SE 7u10,仍在 OS X 上使用 7u10ea?

安装了 Java SE 7u10,仍在 OS X 上使用 7u10ea?

当我打字时java -version我仍然得到抢先体验版本而不是稳定的 JDK 7u10。请问如何修复?我正在研究苹果系统山狮

ls /System/Library/Frameworks/JavaVM.framework/Versions

  • 1.5.0
  • 1.6
  • 1.6.0
  • 一个<--?
  • 當前<--?
  • 当前JDK <-- ?

什么请问代表什么?

/usr/libexec/java_home -V

Matching Java Virtual Machines (3):
    1.7.0_10, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home
    1.6.0_37-b06-434, x86_64:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_37-b06-434, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home

问题是java -version-->java version "1.7.0_10-ea" EA

最糟糕的是给/Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/bin/java -version我看看EA

答案1

1.7 JDK 不会进入/System/Library/Frameworks,而是进入/Library/Java/JavaVirtualMachines。运行时/usr/bin/java它会选择要使用的适当 Java 安装

  • 如果你JAVA_HOME设置了环境变量,那么它将使用该版本
  • /Library/Java/JavaVirtualMachines否则,它将从和中可用的JDK中选择“最佳”安装的JDK /System/Library/Java/JavaVirtualMachines,您可以运行/usr/libexec/java_home以查看系统认为哪一个是“最佳”的。

当然,如果你之前/Library/Java/JavaVirtualMachines/<something>/Contents/Home/bin手动添加了,那么将意味着特定版本,而不是系统选择的版本。你可以通过运行来检查。PATH/usr/binjavawhich java

让问题更加复杂的是,中还有另一个 JRE 副本/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home,它用于浏览器插件和.app没有嵌入自己的 JRE 的 1.7 样式包。

相关内容