1、JDK11安装
1)下载JDK11
Oracle JDK11: https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
OpenJDK11: http://jdk.java.net/11/
在上面两个地址下载需要的版本。
本文主要是macOS上安装,文件下载地址:https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_osx-x64_bin.tar.gz
wget https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_osx-x64_bin.tar.gz
2)解压安装包(系统中默认安装位置:/Library/Java/JavaVirtualMachines/
)
sudo tar -zxf openjdk-11.0.1_osx-x64_bin.tar.gz -C /Library/Java/JavaVirtualMachines/
3)验证是否安装成功
levideMacBook-Pro:articles levizhong$ java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
2、JDK多个版本之间切换
安装成功Jdk11后,可能之前还有之前版本的JDK。下面看一下多版本JDK切换问题
1)查看所有JDK的在系统中默认的安装位置
/usr/libexec/java_home -V
Matching Java Virtual Machines (2):
11.0.1, x86_64: "OpenJDK 11.0.1" /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
2)查看指定版本JDK在系统中默认安装位置
/usr/libexec/java_home -v 9
/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
3)手动切换JDK版本
通过修改 ~/.bash_profile
文件修改JAVA_HOME,如果没有这个文件则需要新建一个。alias是自定义命令别名
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
export JAVA_10_HOME=$(/usr/libexec/java_home -v10)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
alias java10='export JAVA_HOME=$JAVA_10_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
#默认是Java 11
执行下面命令,让文件生效
source ~/.bash_profile
切换JDK版本就执行对应命令别名,比如,我要切换成JDK9,就执行一下java9就可以了。
3、用JEnv来切换JDK版本
1)安装JEnv
brew install jenv
2)配置JEnv环境变量
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile \
&&echo 'eval "$(jenv init -)"' >> ~/.bash_profile \
&&source ~/.bash_profile
报这个错(ln: /Users/levizhong/.jenv/versions/oracle64-9.0.1: No such file or directory
或ln: /Users/levizhong/.jenv/versions/openjdk64-11.0.1: No such file or directory)
,就是没有配置JEnv环境变量
3)查看JEnv管理所有的JDK版本
jenv versions
例如,
levideMacBook-Pro:cjavapy levizhong$ jenv versions
* system (set by /Users/levizhong/.jenv/version)
11.0
11.0.1
9.0
9.0.1
openjdk64-11.0.1
oracle64-9.0.1
4)切换成想要使用的JDK版
jenv global 11.0
更多Jenv命令请看jenv相关文档:JEnv docs
5)其它类似工具
SDKMAN有点不同,可以处理安装和切换不同的JDK版本。但会将已安装的JDK放入其自己的目录中,这通常是~/.sdkman/candidates/java
。SDKMAN允许设置全局默认版本以及特定于当前shell的版本。使用文档:https://sdkman.io/usage
Jabba可以安装和切换不同版本JDK。Jabba也是将已安装的JDK放入其自己的目录中,这通常是~/.jabba/jdk
,使用文档:https://github.com/shyiko/jabba#usage