我想在Mac上安装Java,并让它与其他OpenJDK一起工作,因为它是一个较新的版本。目前,我下载了tar.gz并将其放在path中,但这很难维护。
我发现的唯一一个自动完成更多事情的安装是通过Homebrew cask安装。它看起来也只有当前版本:
brew cask info java
显示:
java: 13,33:5b8a42f3905b406298b72d750b6919f6
https://openjdk.java.net/
所以我可以从那里安装它,但是然后呢?我是否只坚持使用新版本?
发布于 2018-11-13 11:11:11
我就是这么做的。
步骤1:
安装Java 11
您可以从以下位置下载适用于mac的Java 11 dmg:
https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
步骤2:
安装Java 11之后,确认所有版本的安装。在终端中键入以下命令。
/usr/libexec/java_home -V
步骤3:
编辑.bash
_
配置文件
sudo nano ~/.bash_profile
第四步:
添加11.0.1作为默认值。(将下面一行添加到bash
_
配置文件)。
export JAVA_HOME=$(/usr/libexec/java_home -v 11.0.1)
切换到任何版本
export JAVA_HOME=$(/usr/libexec/java_home -v X.X.X)
现在按CTRL+X退出bash。按'Y‘保存更改。
步骤5:
重新加载bash
_
配置文件
source ~/.bash_profile
步骤6:
确认Java的当前版本
java -version
发布于 2019-10-20 23:34:47
使用Homebrew和jenv:
假设: Mac机器上已经安装了自制软件。
安装cask:
$ brew tap caskroom/cask
$ brew tap caskroom/versions
要安装最新的java,请执行以下操作:
$ brew cask install java
要安装java 8,请执行以下操作:
$ brew cask install java8
要安装java 9,请执行以下操作:
$ brew cask install java9
如果你想安装/管理多个版本,你可以使用'jenv':
安装和配置jenv:
$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
将安装的java添加到jenv:
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home
要查看所有已安装的java,请执行以下操作:
$ jenv versions
上面的命令将给出已安装的java的列表:
* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea
配置您要使用的java版本:
$ jenv global oracle64-1.6.0.39
发布于 2018-10-28 19:49:56
手动切换系统-没有第三方工具的默认版本:
详细信息请参见
这个老答案
,在macOS上
是一个包装器工具,它将使用
或者,如果没有设置该变量,将在
并将使用版本最高的版本。它通过查看以下内容来确定版本
在每个包下面。
有了这些知识,你就可以:
通过重命名来控制系统将使用的版本
在您不希望用作缺省文件的版本中(该文件不会被实际的Java运行时本身使用)。
控制用于特定任务的版本,方法是设置
我刚刚用OpenJDK & Mojave验证了这一点。
在一个全新的系统上,没有安装Java版本:
$ java -version
No Java runtime present, requesting install.
取消此操作,请在以下位置下载OpenJDK 11和12ea
https://jdk.java.net
;安装OpenJDK11:
$ cd /Library/Java/JavaVirtualMachines/
$ sudo tar xzf ~/Downloads/openjdk-11.0.1_osx-x64_bin.tar.gz
系统java现在是11:
$ java -version
openjdk version "11.0.1" 2018-10-16
[...]
安装OpenJDK12 (目前可提前访问):
$ sudo tar xzf ~/Downloads/openjdk-12-ea+17_osx-x64_bin.tar.gz
系统java现在是12:
$ java -version
openjdk version "12-ea" 2019-03-19
[...]
现在让我们从system java wrapper中“隐藏”OpenJDK 12:
$ cd jdk-12.jdk/Contents/
$ sudo mv Info.plist Info.plist.disabled
系统java又回到了11:
$ java -version
openjdk version "11.0.1" 2018-10-16
[...]
并且您仍然可以通过手动设置来准时使用版本12
$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home
$ java -version
openjdk version "12-ea" 2019-03-19
[...]
https://stackoverflow.com/questions/52524112
复制相似问题