Java -version 在 Mac OSX Mountain Lion 上报告错误版本

Java -version 在 Mac OSX Mountain Lion 上报告错误版本

我刚刚在 Mac(运行 OSX Mountain Lion)上安装了 Oracle 的 Java 版本 7u7。但是,运行时java -version它仍然显示旧版本(6u29)。

并排显示 Java 6 和 7

我该如何修复这个问题?我是否真的需要修复这个问题?在这种情况下,浏览器(Firefox)将使用哪个版本?当我直接运行 Java 应用程序时将使用哪个版本?

我见过这个问题但这在我的环境中不起作用(可能是因为这个问题是关于 JRE 的,而另一个问题是关于 JDK 的)。在我的环境中,Java 首选项应用程序仅显示 Java 6 版本(32 位和 64 位)。

在此处输入图片描述

更新:

  • which java指着/usr/bin/java
  • /usr/bin/java是指向/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
  • /System/Library/Frameworks/JavaVM.framework/Versions/仅包含指向的文件夹A(超棒版本名称) 。Current

答案1

好的,感谢 MBraedley,我找到了解决方案。

引自适用于 Mac OS X 的 JRE 7 安装指南

从 Oracle 安装 JRE 不会:

  • 更新java -version符号链接或添加java到您的路径。
  • 在 Java Preferences.app 中显示已安装的 JRE

为了能够执行上述操作,您需要安装 JDK。

答案2

将其放入您的启动脚本(.profile,.bash_profile 等):

导出JAVA_HOME=$(/usr/libexec/java_home)

你可能将 JAVA_HOME 设置为错误的版本。在 Java 7 之前,我

导出JAVA_HOME = /库/ Java /主页/

但我仍然在获取 Java 6。

答案3

是的 有时会发生这种情况,因为你的机器没有反映正确的版本。首先找出你存储环境变量的位置- 1. emacs 2. bash_profile 3. zshrc 文件

设置环境变量的步骤:-

  1. 从JAVA下载jdk
  2. 双击安装
  3. 现在在你的文件中设置环境变量

    a. 对于emacs.profile你可以使用这个关联或者参见下面的截图在此处输入图片描述

    b. 对于 ZSH 配置文件设置 -

    1. export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
    
    2. source ~/.zshrc - Restart zshrc OR open another terminal 
    
    3. echo $JAVA_HOME - make sure path is set up properly 
       ----> /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
    
    4. java -version 
    
       -->  java version "1.8.0_112"  Java(TM) SE Runtime Environment (build 1.8.0_112-b16)Java HotSpot(TM) 64-Bit Server VM (build 25.112-b16, mixed mode)
    

一切已设置好现在您可以轻松升级或降级 JAVA 版本。

答案4

您可以同时安装多个版本的 Java JDK。然后,您可以在终端中设置要使用的 JDK 版本。您还可以在 ~/.bash_profile 中将所需的版本设置为默认版本

export JAVA_HOME=`/usr/libexec/java_home -v '1.6*'`
export JAVA_HOME=`/usr/libexec/java_home -v '1.7*'`
export JAVA_HOME=`/usr/libexec/java_home -v '1.8*'`

相关内容