在Mac OS上安装Java的所有位置之间有什么区别?



我的Mac上有几种不同的Java可执行文件:

/usr/bin/java (symlink to /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java)
/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home/bin/java 

它们中的大多数是Java 13,除了/Library/Internet Plug-Ins/JavaAppletPlugin.plugin是Java 8。which java在命令行中为您提供/usr/bin/java,而双击 jar 文件将打开/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java

这些位置之间有什么区别,每个位置存在的原因是什么?

部分答案:Internet Plug-Ins文件夹用于 Safari,它包含 Java8,因为这是唯一支持运行小程序的版本:

https://en.m.wikipedia.org/wiki/Java_applet

Java

小程序自 2017 年 Java 9 起被弃用,并从 2018 年 9 月发布的 Java SE 11 (18.9( 中删除

加 https://en.m.wikipedia.org/wiki/Java_version_history

Java 11 是当前支持的长期支持 (LTS( 版本("Oracle 客户将获得 Oracle Premier 支持"(;甲骨文在 2019 年 1 月发布了最后一次用于商业用途的"遗留"Java 8 LTS 的免费"公共更新",而至少在 2020 年 12 月之前,它仍将支持 Java 8 和供个人使用的公共更新。[3] Java 10 是以前支持的快速发布版本。Java 10 支持在 Java 11 开始支持的同一天结束,即 2018 年 9 月。Java 7不再公开支持,Java 9已经停止接收更新,因为Java 9是一个短期的快速发布版本,已被Java 10和现在的Java 11取代。

所以在Java9和Java10中存在小程序支持,只是这些版本不再存在,而Java8存在。

你有Java13,因为否则这是当前版本。正如一个位置所说jdk-13.0.1.jdk,那应该是一个JDK。A/Commands/java奇怪的"框架"似乎不是"真实"的东西,Java 在所有平台上从binlib文件夹运行,即使在这些文件夹根本没有"传统"的 Windows 上也是如此。这些命令的东西可能是引用实际JDK的存根/包装器。但是我现在正在平板电脑上打字,所以我实际上无法检查。

最新更新