文章482
标签257
分类63

使用jenv管理jdk版本

Java 更改了发布策略之后,版本发布变得特别频繁,我们可能需要安装多个版本的JDK,尤其是区分JVM和GraalVM;

此时可以使用 jenv 来配置 JDK;

官方网站:


使用jenv管理jdk版本

安装并配置jenv

$ brew install jenv

安装完成后需要配置:

# 如果是zsh:
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc
$ source ~/.zshrc

# 如果是bash:
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

查看当前安装的jdk版本:

$ jenv doctor

[OK]    No JAVA_HOME set
[ERROR]    Java binary in path is not in the jenv shims.
[ERROR]    Please check your path, or try using /path/to/java/home is not a valid path to java installation.
    PATH : /Users/user/.jenv/libexec:/Users/user/.jenv/shims:/Users/user/.jenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
[OK]    Jenv is correctly loaded

jenv使用

使用例子如下:

# 添加jdk:设置 JDK 在的目录即可
# 用法:jenv add {jdk安装位置}
$ jenv add /Library/Java/JavaVirtualMachines/jdk-11.0.16.1.jdk/Contents/Home

oracle64-11.0.16.1 added
11.0.16.1 added
11.0 added
11 added

# 查看已安装的版本
# 前面带*号的,就是当前设置的版本
$ jenv versions
  system
  1.8
  1.8.0.333
  11
  11.0
  11.0.16.1
* oracle64-1.8.0.333 (set by /Users/zk/.jenv/version)
  oracle64-11.0.16.1

# 设置全局jdk版本
$ jenv global oracle64-11.0.16.1
$ java -version
java version "11.0.16.1" 2022-08-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.16.1+1-LTS-1)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16.1+1-LTS-1, mixed mode)

# 设置当前shell的jdk版本
$ jenv shell oracle64-1.8.0.333
$ java -version
java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_333-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)

# 设置当前文件夹的jdk版本
$ jenv shell local oracle64-17.0.3.1
$ java -version
java version "17.0.3.1" 2022-04-22 LTS
Java(TM) SE Runtime Environment (build 17.0.3.1+2-LTS-6)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.3.1+2-LTS-6, mixed mode, sharing)

附录

官方网站:



本文作者:Jasonkay
本文链接:https://jasonkayzk.github.io/2023/12/17/使用jenv管理jdk版本/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可