首页 > 基础资料 博客日记

Java 的 JDK 多版本管理与常用命令(JEnv、SDKMAN、Jabba)

2024-04-05 18:00:06基础资料围观505

本篇文章分享Java 的 JDK 多版本管理与常用命令(JEnv、SDKMAN、Jabba),对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识

一、简介

  • 比较常用的 Java JDK 版本管理工具有 JEnvSDKMAN,而 Jabba 是一个比较新的工具,它是跨平台的 Java 版本管理工具,它是受 Node.jsnvm 启发,所以 Jabbanvm 的使用方式几乎一致。

二、区别

  • JEnv
    • 地址:https://github.com/jenv/jenv
    • 作者:Gildas Cuisinier
    • 开发语言:Shell

    特点:

    • JEnv 是一个简单而强大的命令行工具,用于在不同的 Java 版本之间进行切换。
    • JEnv 可以管理全局和项目特定的 Java 版本,并且可以在不同的项目之间切换。
    • JEnv 不能直接安装JDK,需要用户自行安装 JDK 版本,并将其添加到 JEnv 的管理列表中。
    • JEnv 支持跨平台(Mac、Linux、Windows)。
  • Jabba
    • 地址:https://github.com/shyiko/jabba
    • 作者:Oleg Shyiko
    • 开发语言:Go

    特点:

    • Jabba 是一个用于安装和管理不同 Java 版本的命令行工具。
    • Jabba 可以轻松地安装和管理多个 JDK 版本,并且可以在不同项目之间进行切换。
    • Jabba 提供了简单易用的命令行接口来安装、卸载和切换 JDK 版本。
    • Jabba 支持跨平台(Mac、Linux、Windows)。
  • SDKMAN
    • 地址:https://github.com/sdkman/sdkman-cli
    • 作者:Marcin Erdmann
    • 开发语言:Groovy

    特点:

    • SDKMANSoftware Development Kit Manager)是一个通用的软件开发工具包管理器,不仅仅限于 Java
    • SDKMAN 可以用来安装和管理多种不同的开发工具,包括 JDK 和其他构建工具(如 GradleMaven)。
    • SDKMAN 提供了一个简单的命令行界面,使用户能够轻松地安装、卸载和切换不同的开发工具。
    • SDKMAN 支持跨平台(Mac、Linux、Windows)。

三、安装

四、SDKMAN 使用细节

  • sdkman 官网中有安装与卸载教程

  • 常用指令

    # 查看 sdkman 版本
    $ sdk version
    
    # 查看 sdkman 版本
    $ sdk current
    
    # 查看 sdkman 使用的当前 java 版本
    $ sdk current java
    
    # 更新本地 sdkman 缓存
    $ sdk update
    
    # 强制升级 sdkman
    $ sdk selfupdate force
    
    # 列出可用的 java 版本,还可以列出别的平台 $ sdk list maven
    $ sdk list java
    
    # 查看安装地址
    $ sdk home java 11.0.16-zulu
    
    # 安装指定版本
    $ sdk install java 11.0.16-zulu
    
    # 卸载指定版本
    $ sdk uninstall java 11.0.16-zulu
    
    # 将制定版本设为默认(全局) 
    $ sdk default java 11.0.16-zulu
    
    # 配置本地的版本(临时,本地目录)
    $ sdk use java 11.0.16-zulu
    

五、JEnv 使用细节

  • 安装好后,可以到 AdoptopenJDKOracle 下载需要的版本进行安装,AdoptopenJDK 可以下载到比较老的版本,Oracle 只能下最新的版本。

  • 查看本地所有 JDK 版本路径

    $ /usr/libexec/java_home -V
    
  • 常用指令

    # 诊断 jenv 是否配置成功
    $ jenv doctor
    
    # 添加一个 JDK 版本到 jenv 管理
    $ jenv add JDK路径
    $ jenv add /usr/local/Cellar/openjdk@11/11.0.17/libexec/openjdk.jdk/Contents/Home
    $ jenv add /usr/local/Cellar/openjdk@8/1.8.0+352/libexec/openjdk.jdk/Contents/Home
    $ jenv add /Library/Java/JavaVirtualMachines/openjdk.jdk/Contents/Home
    # 支持别名
    $ jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home oracle64-1.6.0.39 added
    
    # 查看管理的 JDK 版本
    $ jenv versions
    
    # 将制定版本设为默认(全局) 
    $ jenv global oracle64-1.6.0.39
    
    # 配置本地的版本(临时,本地目录)
    $ jenv local oracle64-1.6.0.39
    
    # shell 版本设置,给解释器(也就是这种类型的命令行窗口)设置使用指定的版本
    $ jenv shell oracle64-1.6.0.39
    
  • 切换版本后,可能还需要执行一行代码才会生效,如果切换版本生效了则不需要执行

    # 看版本对不对,不对则同步下环境配置
    $ java -version
    
    # 不对则执行一下这行,在输出一下版本
    $ source ~/.zshrc
    

六、Jabba 使用细节

  • 常用指令

    # 查看远程可以安装版本
    $ jabba ls-remote
    
    # 安装
    $ jabba install 1.8
    
    # 卸载
    $ jabba uninstall 1.8
    
    # 查看本地已安装版本
    $ jabba ls
    
    # 将制定版本设为默认(全局) 
    $ jabba alias default oracle64-1.6.0.39
    
    # 配置本地的版本(临时,本地目录)
    $ jenv use oracle64-1.6.0.39
    
    # 添加本地 JDK
    $ jabba link 别名@版本 本地JDK路径
    $ jabba link system@1.8 M:\GreenSoft\Java\jdk1.8.0_171
    
    # 过滤搜索版本
    $ jabba ls-remote zulu@~1.8.60
    $ jabba ls-remote "* @> = 1.6.45 <1.9"-- latest = minor
    
    # 通过指定 url 进行安装,支持: zip (since 0.3.0), tgz, tgx (since 0.10.0), dmg, bin, exe
    $ jabba install 1.8.0-custom=tgz+http://example.com/distribution.tar.gz
    $ jabba install 1.8.0-custom=tgx+http://example.com/distribution.tar.xz
    $ jabba install 1.8.0-custom=zip+file:///opt/distribution.zip
    

文章来源:https://blog.csdn.net/zz00008888/article/details/135476334
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云