【问题标题】:How to Properly update Java on OS-X如何在 OS-X 上正确更新 Java
【发布时间】:2016-12-11 20:40:38
【问题描述】:

我已安装并更新到最新版本的 Java。

我在 iMac 上运行 OS X 10.11.6 (15G31)。

Java 控制面板显示正确的版本并将链接显示为:

/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java

执行:

/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
java version "1.8.0_101"

显示正确的版本。

但是,执行:

java -version
java version "1.8.0_45"

显示旧版本。

执行:

whereis java
/usr/bin/java

将链接显示为 /usr/bin/java

但尝试替换软链接失败:

sudo ln -fs /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java
ln: /usr/bin/java: Operation not permitted

即使在使用时: sudo bash(即作为 root)

有什么想法吗?

谢谢 -吉姆

【问题讨论】:

  • 你能从提示中显示type -p java 的输出吗?很可能你的用户的PATHwhereis 返回的路径不同(它搜索sysctl user.cs_path 的值)。听起来/usr/bin之前的PATH中有java的副本。
  • type -p java /usr/bin/java 所以看起来和“whereis”和“which”命令是一样的

标签: java osx-elcapitan


【解决方案1】:

正如文件夹名称中所说,/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java 实际上是一个互联网插件,很可能只用于小程序。

Mac 上的普通 java 安装位于/System/Library/Frameworks/JavaVM.framework/Versions,这似乎不会自动更新。

因此,您需要转到http://java.oracle.com 并从那里下载并安装当前的 Java 版本(它会在安装过程中自动更新现有的 Java8 安装)。之后,/usr/bin/java 将指向更新的版本。

【讨论】:

  • 出现,必须下载当前的JDK才能更改/usr/bin/java的指针。只是更新 JRE 似乎没有任何效果。无论如何,OS-X 上的 Java 设置很糟糕。
猜你喜欢
  • 1970-01-01
  • 2016-06-08
  • 1970-01-01
  • 2019-05-21
  • 2010-12-03
  • 2014-01-11
  • 2016-02-06
  • 1970-01-01
  • 2014-07-04
相关资源
最近更新 更多