Java JDK 版本管理工具之Jabba JEnv使用

news/2023/11/30 0:43:27

文章目录

  • Java JDK 版本管理工具
    • JEnv
      • 介绍
      • 下载地址
      • 配置环境变量到Path上
      • 使用JEnv
        • 添加JDK
        • 查看已经添加的JDK
        • 切换JDK版本
    • Jabba
      • 前言
      • 安装
      • Jabba常用命令
        • 查看服务器上可下载安装的Jdk版本
        • 添加本地jdk
        • 查询所有安装的JDK版本
        • 安装JDK
          • 安装 Oracle JDK
          • 安装 Oracle Server JRE
          • 安装 Adopt OpenJDK (Hotspot)
          • 安装 Adopt OpenJDK (Eclipse OpenJ9)
          • 安装 Zulu OpenJDK
          • 安装 IBM SDK, Java Technology Edition
          • 安装 GraalVM CE
          • 安装 OpenJDK
          • 安装 OpenJDK with Shenandoah GC
          • 从自己指定url安装
        • 卸载JDK
        • 将系统中已安装的JDK链接到jabba中
        • 切换使用的JDK版本
          • 通过命令切换
          • 通过配置文件切换
          • 通过jabba alias切换
      • 卸载jabba

Java JDK 版本管理工具

JEnv

介绍

jenv为您提供一些java在开发机器上使用的关键功能:

  • 它允许您在java版本之间切换。这在开发 Android 应用程序时很有用,Android 应用程序通常需要 Java 8 作为其工具,而服务器应用程序则使用 Java 11 等更高版本。
  • 它设置JAVA_HOME在您的 shell 中,可以全局设置,本地设置到当前工作目录或每个 shell。

不过,JEnv并没有安装JDK的功能,需要进行手动安装,JEnv仅作为切换工具。

下载地址

https://github.com/FelixSelter/JEnv-for-Windows

配置环境变量到Path上

D:\Program Files\JEnv-for-Windows-main

使用JEnv

需要管理员权限才能使用JEnv命令

添加JDK

jenv add jdk8 D:\Program Files\Java\jdk1.8.0_45

查看已经添加的JDK

jenv list

切换JDK版本

jenv change jdk8

Jabba

前言

jabba是跨平台的Java版本管理工具,它是受Node.js的nvm启发,并且用Go语言开发的。无论是哪种操作系统(macOS,Linux x86 / x86_64 / ARMv7+,Windows x86_64),让安装(以及在不同版本之间切换)JDK有统一的体验。另外,Java Jdk版本管理工具还有JEnv、SDKMAN,此仅供了解。

安装

此处我们以windows10举例,首先我们在powershell上执行下面命令:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-Expression (Invoke-WebRequest https://github.com/shyiko/jabba/raw/master/install.ps1 -UseBasicParsing
).Content

如果命令提示因为在此系统上禁止运行脚本,则需要修改power shell的安全策略,我们通过管理员权限运行power shell,然后输入命令:

 set-ExecutionPolicy RemoteSigned

安装完可以选择修改为默认策略:

set-ExecutionPolicy Default

验证是否安装成功

PS C:\WINDOWS\system32> jabba --version
0.11.2
PS C:\WINDOWS\system32>

Jabba常用命令

查看服务器上可下载安装的Jdk版本

jabba ls-remote

过滤查询的版本

jabba ls-remote zulu@~1.8.60
jabba ls-remote "* @> = 1.6.45 <1.9"-- latest = minor

添加本地jdk

jabba link system@1.8 M:\GreenSoft\Java\jdk1.8.0_171

查询所有安装的JDK版本

jabba ls

安装JDK

安装 Oracle JDK
jabba install 1.8
安装 Oracle Server JRE
jabba install sjre@1.8  
安装 Adopt OpenJDK (Hotspot)
jabba install adopt@1.8-0
安装 Adopt OpenJDK (Eclipse OpenJ9)
jabba install adopt-openj9@1.9-0
安装 Zulu OpenJDK
jabba install zulu@1.8
jabba install zulu@~1.8.144 #相同的效果:"zulu@>=1.8.144 <1.9" 
安装 IBM SDK, Java Technology Edition
jabba install ibm@1.8
安装 GraalVM CE
jabba install graalvm@1.0-0
安装 OpenJDK
jabba install openjdk@1.10-0
安装 OpenJDK with Shenandoah GC
jabba install openjdk-shenandoah@1.10-0
从自己指定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

卸载JDK

jabba uninstall zulu@1.6.77

将系统中已安装的JDK链接到jabba中

jabba link system@1.8.72 /Library/Java/JavaVirtualMachines/jdk1.8.0_72.jdk

切换使用的JDK版本

通过命令切换
jabba use adopt@1.8
jabba use zulu@~1.6.97
通过配置文件切换
echo "1.8" > .jabbarc
通过jabba alias切换
# 这个命令是每次打开一个新终端,就会自动地 jabba use 这个版本
jabba alias default 1.8

卸载jabba

在Linux/Mac OS X上,jabba安装的所有内容在~/.jabba目录中,而在Windows上,是在/%USERPROFILE%/.jabba这个目录。卸载jabba ,只需删除此目录即可。


https://www.xjx100.cn/news/344700.html

相关文章

旋翼无人机常用仿真工具

四旋翼常用仿真工具 rviz&#xff1a; 简单的质点&#xff08;也可以加上动力学姿态&#xff09;&#xff0c;用urdf模型在rviz中显示无人机和飞行轨迹、地图等。配合ROS代码使用&#xff0c;轻量化适合多机。典型的比如浙大ego-planner的仿真&#xff1a; https://github.c…

shiro环境搭建

源码部署 这种方法相对复杂&#xff0c;如果不需要分析源码直接用docker就行 前置条件&#xff1a;Maven Ideal Tomcat 下载方式1&#xff1a;https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4&#xff0c;然后将文件夹导入ideal下载方式2&#xff1a;将shiro…

评奖系统设计

系列文章 任务40 评奖系统设计 文章目录 系列文章一、实践目的与要求1、目的2、要求 二、课题任务三、总体设计1.存储结构及数据类型定义2.程序结构3.所实现的功能函数4、程序流程图 四、小组成员及分工五、 测试执行完毕程序展示成功&#xff01;学生投票&#xff0c;举例第一…

分布式事务解决方案-Seata

分布式事务解决方案-Seata 1.分布式事务问题1.1.本地事务1.2.分布式事务1.3.演示分布式事务问题 2.理论基础2.1.CAP定理2.1.1.一致性2.1.2.可用性2.1.3.分区容错2.1.4.矛盾 2.2.BASE理论2.3.解决分布式事务的思路 3.初识Seata3.1.Seata的架构3.2.部署TC服务3.3.微服务集成Seata…

C++多态详解(虚函数重写、接口继承、虚函数表详解)

目录 1. 多态概念 2. 多态的定义及实现 2.1 多态的构成条件 2.2 虚函数重写 2.3 C11 override和final 2.4 重载、覆盖&#xff08;重写&#xff09;、隐藏&#xff08;重定义&#xff09;的对比 3. 抽象类 3.1 概念 3.2 接口继承和实现继承 4. 多态的原理 4.1 虚函数表 4.2…

编程练习【判断两个时间是否存在冲突】

给你两个字符串数组 event1 和 event2 &#xff0c;表示发生在同一天的两个闭区间时间段事件&#xff0c;其中&#xff1a; event1 [startTime1, endTime1] 且 event2 [startTime2, endTime2] 事件的时间为有效的 24 小时制且按 HH:MM 格式给出。 当两个事件存在某个非空的…

一、尚医通预约下单

文章目录 一、预约下单1、需求分析1.1订单表结构1.2下单分析 2、搭建service-order模块2.1 搭建service-order模块2.2 修改配置2.3 启动类2.4配置网关 3、添加订单基础类3.1 添加model3.2 添加Mapper3.3 添加service接口及实现类3.4 添加controller 4、封装Feign调用获取就诊人…

牛客小白月赛71

链接&#xff1a;牛客小白月赛71_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A&#xff1a;猫猫与广告 观察题目&#xff0c;让我们找到一个牌子去遮挡一下另一块牌子&#xff0c;考虑到边对齐&#xff0c;直接进行判断即可&#xff0c;判断的时候记得考虑短边对…