Mac jenv m1下java的版本控制

jenv是什么

Mac jenv 初次看到jenv的同学大概率是比较懵的。不知道它是什么。jenv是一个Mac os 下的java多版本的管理工具.和Pyenv的作用同一系列的.

macOS安装jenv

    brew install jenv

配置jenv

Mac不同的系统版本对环境变量的控制使用的是不同的文件,早起的系统一般是

     ~/.bash_profile

     echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
     echo 'eval "$(jenv init -)"' >> ~/.bash_profile

不过,比较新的os不再默认存在上述文件,而是一个新的文件( Mac m1)

    ~/.zshrc

    echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
    echo 'eval "$(jenv init -)"' >> ~/.zshrc

JDK所有版本


/usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    12.0.1, x86_64:    "OpenJDK 12.0.1"    /Library/Java/JavaVirtualMachines/openjdk-12.0.1.jdk/Contents/Home
    1.8.0_212, x86_64:    "AdoptOpenJDK 8"    /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
    1.6.0_65-b14-468, x86_64:    "Java SE 6"    /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386:    "Java SE 6"    /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

使用 jenv add 命令挨个将上述路径添加即可

jenv配置java路径

jenv add /Library/Java/JavaVirtualMachines/openjdk-12.0.1.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

JEnv 的精髓是 shell、local 和 global 三个参数命令。shell 用于设置终端窗口生命周期内使用的 JDK 版本;local 用于设置当前目录下使用的 JDK 版本;而 global 用于设置全局使用的 JDK 版本。这三个命令的使用方式都一样

jenv查看和设置java版本

ethan$ jenv versions
  system
  1.8
  1.8.0.291
* 11.0 (set by /Users/ethan/.jenv/version)
  11.0.15
  16.0
  16.0.1
  openjdk64-11.0.15
  openjdk64-16.0.1
  oracle64-1.8.0.291

ethan$ jenv global 11.0

发表回复