我想在MacOSX上安装OpenJDKJava,并让它与其他JDK一起工作,因为它是一个较新的版本。目前,我下载了tar.gz并将其放在我的路径中,但这很难维护
我发现的另一个可以自动完成更多操作的安装是通过自制桶进行的安装。看起来也只有当前版本:
brew cask info java
显示:
java:13,33:5b8a42f3905b406298b72d750b6919f6
https://openjdk.java.net/
所以我可以从那里安装它,但接下来呢?我是否只接受新版本
注意:这些解决方案适用于各种版本的Java,包括Java 8到Java 17(LTS版本)。这包括来自OpenJDK、Oracle、IBM、Azul、Amazon Correto、Graal等的替代JDK。轻松使用Java7、Java8、Java9、Java10、Java11、Java12、Java13、Java14、Java15、Java16和Java17
对于如何进行安装以及如何管理JDK交换,您有一些选项。安装可以通过自制完成,SDKMAN,Jabba,或手动安装。可以通过JEnv,SDKMAN,Jabba,或通过设置JAVA\u HOME手动执行。所有这些都将在下文中描述
装置
首先,使用您喜欢的任何方法安装Java,包括SDKMAN、自制或手动安装tar.gz文件。手动安装的优点是JDK的位置可以放置在MacOSX的标准位置。否则,还有一些更简单的选项,比如SDKMAN,它还将为JVM安装其他重要的通用工具
使用SDKMAN安装和切换版本(首选)
SDKMAN有点不同,它同时处理安装和切换。SDKMAN还将已安装的JDK放入自己的目录树中,该目录树通常是~/.SDKMAN/candidates/java。SDKMAN允许设置全局默认版本和特定于当前shell的版本
-
列出可用的Java版本以确保您知道版本ID
sdk列表java -
安装其中一个版本,例如Java 17:
sdk安装java 17打开 -
将Java 17设为默认版本:
sdk默认java 17打开或在当前终端会话中切换到17:
sdk使用java 17打开
当您使用list命令列出可用的安装版本时,您将看到各种Java发行版:
sdk列表java
并安装其他版本,例如来自Amazon的JDK 11:
sdk安装java 11.0.10.9.1-amzn
SDKMAN可以使用以前安装的现有版本。只需在本地安装,并提供自己的版本标签和JDK的位置:
sdk安装java my-local-13/Library/java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
自由使用:
sdk使用java my-local-13
有关更多信息,请访问SDKMAN使用指南以及它可以安装和管理其他SDK
当您更改版本时,SDKMAN将自动为您管理路径和JAVA_主页
从OpenJDK下载页面手动安装:
-
取消对OpenJDK tar的归档,并将生成的文件夹(即
jdk-17.jdk)放入/Library/Java/JavaVirtualMachines/文件夹中,因为这是jdk安装的标准和预期位置。实际上,您也可以在任何地方安装 -
将
JAVA_HOME环境变量设置为指向未归档JDK的方向
有关更多信息,请参阅答案特定于手动安装。另请参见下面的一节;手动切换版本“;有关如何管理多个手动安装的详细信息
使用自制软件安装
2018年10月3日之前在自制桶中提供的Java版本实际上是Oracle JVM。然而,现在它已经被更新为OpenJDK。请务必更新自制软件,然后您将看到可供安装的最新版本
-
brew更新 -
如果要使用采用OpenJDK版本:
brew tap采用openjdk/openjdk这些容器经常更改其Java版本,并且可能会有其他附加Java版本
-
查找可安装的版本:
brew搜索java或对于OpenJDK版本:
brew搜索jdk -
检查将要安装的版本的详细信息:
brew信息java或对于OpenJDK版本:
brew信息采用OpenJDK -
安装JDK的特定版本,如
java11,adoptopenjdk8,adoptopenjdk11,adoptopenjdk16,或仅针对该发行版的最新版本安装java或adoptopenjdk。例如:brew安装java brew安装--cask采用OpenJDK16
这些将被安装到/Library/Java/JavaVirtualMachines/中,这是Mac OSX上的传统位置。在安装过程结束时,可能会有其他步骤使JDK处于活动状态
其他安装选项:
OpenJDK的其他一些口味包括:
Azul SystemsJava ZuluOpenJDK的认证版本可以通过以下方式安装网站上的说明
Zulu®是OpenJDK的认证版本,完全符合Java SE标准。Zulu是100%开源的,可以免费下载。现在,Java开发人员、系统管理员和最终用户可以充分享受开源Java带来的好处,包括部署灵活性和对升级时间的控制
Amazon CorretoOpenJDK版本有一个易于使用的Java 8、Java 11、Java 15、Java 16和Java 17安装包。它安装在Mac OSX上的标准/Library/Java/JavaVirtualMachines/目录中
AmazonCorretto是开放Java开发工具包(OpenJDK)的一个免费、多平台、可生产的发行版。Corretto提供长期支持,包括性能增强和安全修复。Amazon在数千个生产服务上内部运行Corretto,Corretto经认证与JavaSE标准兼容。使用Corretto,您可以在流行的操作系统(包括Linux、Windows和macOS)上开发和运行Java应用程序
我的JDK在哪
要查找以前安装的Java JDK在默认系统位置的位置,请使用:
/usr/libexec/java\u home-V
匹配Java虚拟机(10):
17(x86_64)“;自制&引用;OpenJDK 17“/usr/local/ceral/openjdk/17/libexec/openjdk.jdk/Contents/Home
16(x86_64)“;采用OpenJDK";-&引用;采用OpenJDK 16“/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
15,x86“U 64:”;OpenJDK 15“/Library/Java/JavaVirtualMachines/jdk-15.jdk/Contents/Home
14,x86“U 64:”;OpenJDK 14“/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home
13,x86“U 64:”;OpenJDK 13“/Library/Java/JavaVirtualMachines/openjdk-13.jdk/Contents/Home
12,x86“U 64:”;OpenJDK 12“/Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home
11,x86“U 64:”;Java SE 11“/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
10.0.2,x86“U 64:”;Java SE 10.0.2“/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
9,x86“U 64:”;Java SE 9“/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
1.8.301.09(x