如何在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 ?
我最近发现了一个叫做Jabba的Java版本管理器,它的用法与其他语言的版本管理器非常相似,比如rvm(ruby)、nvm(node)、pyenv(python)等。而且它是跨平台的,所以肯定可以在Mac上使用。
安装完成后,它将在~/目录下创建一个目录。jabba来放置你安装的所有Java版本。它“支持安装Oracle JDK(默认)/ Server JRE, Zulu OpenJDK(自0.3.0起),IBM SDK, Java技术版(自0.6.0起)和自定义url。”
他们的Github上列出了基本用法。简单总结一下:
curl -sL https://github.com/shyiko/jabba/raw/master/install.sh | bash && . ~/.jabba/jabba.sh
# install Oracle JDK
jabba install 1.8 # "jabba use 1.8" will be called automatically
jabba install 1.7 # "jabba use 1.7" will be called automatically
# list all installed JDK's
jabba ls
# switch to a different version of JDK
jabba use 1.8
Jenv谈Mac Sierra:
如果安装后无法工作,请执行此错误修复以将Java可执行文件添加到路径
export PATH="$HOME/.jenv/shims:$PATH"
尽管eval "$(jenv init -)"可以做这个工作。原因是/bin文件夹已经不存在了,就像在它的主页上描述的那样,但是shim文件夹被用作/bin。
Make sure ~/。Jenv在那里
哪个java可以打印/库/…
Jenv global 1.8
Jenv外壳1.8
最终,java给了你:
\用户- xxxx - jenv shims / java。
我知道这个问题已经有很多答案,但我只想分享我的解决方案,只使用Temurin和bash。
AdoptOpenJdk已弃用,这就是我使用Temurin的原因。
1. 使用镜像或包管理器下载Temurin
$ brew install—桶铁尿
对于其他版本(如Java 8):
$ brew tap自制/桶装版本
$ brew install—桶temurin8
2. 将bash脚本添加到bash配置文件中
打开~/。ZSHRC或~/。Bash_profile(取决于您正在使用它)
并添加以下代码:
set-jdk() {
jdkversion=$1
export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-"$jdkversion".jdk/Contents/Home;
export PATH=$PATH:$JAVA_HOME/bin;
java -version
}
3.重新启动终端并更改Java版本
$ set-jdk N N是你想要的Java版本,并且已经安装好了
如。
$ set-jdk 8修改为Java 8 / 1.8
一些注意事项:
它只会在使用set-jdk命令的终端会话上保留Java版本
它不会将Java版本设置为全局
当您想要将JAVA_HOME添加到另一个脚本/应用程序中时,可以设置/Library/Java/JavaVirtualMachines/temurin-<version>。jdk/Contents/Home(更改为所需的Java版本。就像这个JD-GUI的例子)
享受