如何在MacOS上安装额外的java ?我安装了jdk8,运行正常。但是现在出于开发目的,我需要安装jdk7。当试图通过DMG文件安装旧版本时,我得到一个警告,已经安装了新的java版本,安装程序退出。
/usr/libexec/java_home -verbose
Matching Java Virtual Machines (1):
1.8.0_20, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
除了这个,如何安装jdk7 ?
使用jenv管理MAC中的多个java版本
Install homebrew using following command
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
install jenv and activate jenv
brew install jenv
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
tap cask-versions
brew tap homebrew/cask-versions
search available java version that can be installed
brew search java
E.g. to install java6 use following command
brew install cask java6
Add multiple versions of java in jenv
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
注意:-如果你得到类似ln: /Users/<username>/.jenv/versions/oracle64-1.8.0.231: No such file or directory的错误,那么执行以下命令:-
mkdir -p /Users/<username>/.jenv/versions/oracle64-1.8.0.231
在添加jdk 's后重新哈希jenv
jenv重复
列出已知的java版本到jenv
jenv版本
设置默认版本
Jenv global oracle64-1.8.0.231
更改项目的java版本
Jenv local oracle64-1.6.0.65
将JAVA_HOME设置为与jenv相同的版本
Jenv执行bash
echo $ JAVA_HOME
我最近回复,我真的建议你用SDKMAN代替Homebrew。
使用SDKMAN,您可以轻松地在mac上安装不同版本的JAVA,并从一个版本切换到另一个版本。
你也可以使用SDKMAN的ANT, GRADLE, KOTLIN, MAVEN, SCALA等…
要在mac上安装新版本,可以运行命令sdk install java 15.0.0.j9-adpt
要查找可用的Java版本:
brew search java
要安装最新的稳定版本(截至今天有19个):
brew info java
brew install java
为了让系统Java包装器(例如:ide)找到最新的JDK,可以将其与以下符号链接:
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
安装特定版本(11):
brew install java11
对于系统,Java包装器查找JDK 11:
sudo ln -sfn /opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
您可以在PATH中拥有其中一个OpenJDK版本。在~/.bash_profile中添加下列行之一
export PATH="/opt/homebrew/opt/openjdk/bin:$PATH
export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH
然后,
source ~/.bash_profile
在这个网站上可以找到
让我们从安装jEnv开始
Run this in the terminal
brew install https://raw.github.com/gcuisinier/jenv/homebrew/jenv.rb
Add jEnv to the bash profile
if which jenv > /dev/null; then eval "$(jenv init -)"; fi
When you first install jEnv will not have any JDK associated with it.
For example, I just installed JDK 8 but jEnv does not know about it. To check Java versions on jEnv
At the moment it only found Java version(jre) on the system. The * shows the version currently selected. Unlike rvm and rbenv, jEnv cannot install JDK for you. You need to install JDK manually from Oracle website.
Install JDK 6 from Apple website. This will install Java in /System/Library/Java/JavaVirtualMachines/. The reason we are installing Java 6 from Apple website is that SUN did not come up with JDK 6 for MAC, so Apple created/modified its own deployment version.
Similarly install JDK7 and JDK8.
Add JDKs to jEnv.
JDK 6:
JDK 7:
JDK 8:
Check the java versions installed using jenv
So now we have 3 versions of Java on our system. To set a default version use the command
jenv local <jenv version>
Ex – I wanted Jdk 1.6 to start IntelliJ
jenv local oracle64-1.6.0.65
check the java version
java -version
就是这样。我们现在有多个版本的java,我们可以很容易地在它们之间切换。jEnv还有其他一些特性,比如Gradle、Ant、Maven等的包装器,以及全局或本地设置JVM选项的能力。有关更多信息,请查看文档。