用sdkman在linux上管理多个java版本

概述:

        SDKMAN 是一个用于管理软件开发工具的工具,允许您轻松地安装、升级和切换不同版本的 JDK、Maven、Gradle 等工具。以下是在 Linux 上安装 SDKMAN! 的基本步骤:

安装SdkMan

使用 curl 安装 SDKMAN!:

       打开终端,并运行以下命令来使用 curl 安装 SDKMAN!:

curl -s "https://get.sdkman.io" | bash

      上述命令将下载并运行 SDKMAN! 的安装脚本。

打开一个新的终端窗口:

      安装完成后,需要打开一个新的终端窗口,以便使 SDKMAN! 的设置生效

验证安装:

      运行以下命令验证 SDKMAN! 是否成功安装:

sdk version

如果一切正常,您应该看到 SDKMAN! 的版本信息。

使用 SDKMAN!

使用 SDKMAN! 安装工具的示例命令:

查看JDK:

sdk list java

安装 JDK:

sdk install java  <version>

查看Maven:

sdk list maven

安装 Maven:

sdk install maven  <version>

查看Gradle:

sdk list gradle

安装 Gradle:

sdk install gradle   <version>

切换 Java 版本:

sdk use java <version>

切换 Maven 版本:

sdk use maven <version>

切换 Gradle 版本:

sdk use gradle <version>

替换 <version> 为您想要安装或切换的具体版本号。

         通过 SDKMAN!,您可以轻松管理多个开发工具的版本,方便在不同项目中使用不同版本的工具。请注意,SDKMAN! 还支持其他工具的安装和管理,您可以查阅官方文档获取更多信息:SDKMAN! 官方文档。请注意,使用 curl | bash 安装方式存在一些安全风险,因为它直接执行从网络上下载的脚本。在生产环境或对安全性要求较高的情况下,建议您查看 SDKMAN! 官方网站上提供的其他安全安装选项。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

axios的原理及源码解析

面试官&#xff1a;你了解axios的原理吗&#xff1f;有看过它的源码吗&#xff1f; 一、axios的使用 关于axios的基本使用&#xff0c;上篇文章已经有所涉及&#xff0c;这里再稍微回顾下&#xff1a; 发送请求 import axios from axios;axios(config) // 直接传入配置 axio…

web3.0基本概念简析

web3.0概念简析 web3.0的发展史 web1.0 仅用于展示&#xff0c;无法进行点赞评论等交互 web2.0 不仅可以展示&#xff0c;还可以上传视频、图片等&#xff0c;用户可以参与创作内容并获取收益。但还是中心化的模型 缺点 1 机械化的人机验证 2 账户安全无法保证 多年未登陆…

Elasticsearch8 集群搭建(二)配置篇:(1)节点和集群配置

安装完Elasticsearch后&#xff0c;需要对其进行配置&#xff0c;包括以下几部分&#xff1a;节点和集群配置、系统配置、安全配置。 此篇记录节点和集群配置的内容&#xff0c;后续将更新系统配置和安全配置。 节点和集群配置&#xff1a; 通过编辑/usr/local/elasticsearc…

C++ sizeof()运算符的参数为指针和数组的值为什么不同

sizeof()的参数为指针和数组 C或C语言中&#xff0c;都可以使用sizeof()运算符来计算数组的字节大小&#xff0c;除此之外&#xff0c;在C和C语言中&#xff0c;都可以使用一个指向数组第一个元素的内存地址的指针来引用数组&#xff0c;因此&#xff0c;如果要计算数组的字节…

跨站点请求伪造攻击 - Cross Site Request Forgery (CSRF)

什么是CSRF 最好理解CSRF攻击的方式是看一个具体的例子。 假设你的银行网站提供一个表单,允许当前登录用户将钱转账到另一个银行账户。例如,转账表单可能如下所示: <form method="post"action="/transfer"> <

c++八股5

TCP与UDP&#xff0c;HTTP的区别&#xff1a; ○ TCP (Transmission Control Protocol) 是面向连接的、可靠的传输层协议。它提供数据包按序到达、错误检测和重传机制&#xff0c;确保数据完整性和顺序性&#xff0c;但相对UDP来说有更高的开销。 ○ UDP (User Datagram Protoc…

Tensorflow2.0笔记 - 基础数学运算

本笔记主要记录基于元素操作的,-,*,/,//,%,**,log,exp等运算&#xff0c;矩阵乘法运算&#xff0c;多维tensor乘法相关运算 import tensorflow as tf import numpy as nptf.__version__#element-wise运算&#xff0c;对应元素的,-,*,/,**,//,% tensor1 tf.fill([3,3], 4) ten…

虚化边框背景,让视频不再单调乏味

在繁忙的都市中&#xff0c;我们每天都在为了生活而奔波。有时&#xff0c;我们希望有一个地方&#xff0c;可以让我们暂时远离喧嚣&#xff0c;沉浸在自己的小世界里。而现在&#xff0c;有了这款全新的视频编辑软件——视频剪辑高手&#xff0c;你不仅可以轻松制作出专业级的…

Mac ❀ 如何在MacOS上安装pip软件包

文章目录 1. 安装命令2. 测试 1. 安装命令 # 下载 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 安装 python3 get-pip.py2. 测试 pip -h

Docker篇之修改docker默认磁盘占用目录

一、前言 通常情况下&#xff0c;当我们默认安装docker服务时&#xff0c;在不指定默认存储路径时&#xff0c;docker会自动创建目录&#xff0c;经常会出现打满根目录的情况。 默认存储路径为&#xff1a;/var/lib/docker 下 可通过如下进行查询&#xff1a; docker info输出…

易飞ERP抛转钉钉签核,并自动审核易飞单据

支持易飞ERP所有单据送签到钉钉 &#xff08;v: rainholy&#xff09; 1、钉钉界面 2、易飞ERP单据配置 3、钉钉审批完后&#xff0c;自动审核易飞ERP单据

技术视角看Metis未来发展潜力

基本情况 Metis是Optimistic Rollup开发的layer2,于21年主网上线,是最早的上线Rollup的二层网络。并于24年升级为将Optimistic Rollup 架构与零知识证明zk相结合的Hybrid Rollup。 排序器现状 对于每个layer2,用户的交易数据都需要传输到主网ETH上。原则上,用户的交易数…

JAVA代码学习(下)

2023年将会持续于B站、CSDN等各大平台更新&#xff0c;可加入粉丝群与博主交流:838681355&#xff0c;为了老板大G共同努力。 【商务合作请私信或进群联系群主】 六、集合、泛型、枚举 6.1 集合 Java 提供了集合类。集合类主要负责保存、盛装其他数据&#xff0c;因此集合类…

登录页添加验证码

登录页添加验证码 引入验证码页面组件&#xff1a;ValidCode.vue <template><div class"ValidCodeContent" style""><divclass"ValidCode disabled-select":style"width:${width}; height:${height}"click"refre…

手把手教你写 Compose 动画 -- 状态转移型动画 API:animate*AsState()

Jetpack Compose 提供了一系列功能强大且可扩展的 API&#xff0c;可用于在应用界面中轻松实现各种动画效果。这一系列文章会逐个介绍所有的动画 API&#xff0c;通过最直观的 Demo 示例&#xff0c;手把手教你怎么写动画以及带你了解动画背后的原理。 &#x1f4d1; 手把手教你…

Unreal Engine(UE5)中构建离线地图服务

1. 首先需要用到3个软件&#xff0c;Unreal Engine&#xff0c;gis office 和 bigemap离线服务器 Unreal Engine下载地址:点击前往下载页面 Gis office下载地址:点击前往下载页面 Bigemap离线服务器 下载地址: 点击前往下载页面 Unreal Engine用于数字孪生项目开发&#x…

计算机网络、浏览器面试题

浏览器从输入url到呈现发生了什么 1、根据输入的网址解析域名到对应的ip地址&#xff0c;查找顺序&#xff1a; 浏览器缓存、操作系统缓存、路由器缓存、DNS 服务器&#xff08;记录这域名和ip地址的映射&#xff09;、根服务器。 2、找到ip地址需要先建立TCP链接 客户端发送 …

4种方法用Python批量实现多Excel多Sheet合并

目录 方法一&#xff1a;使用pandas库 方法二&#xff1a;使用openpyxl库 方法三&#xff1a;使用xlrd和xlwt库 方法四&#xff1a;使用os和glob库 在数据处理中&#xff0c;经常需要将多个Excel文件中的多个工作表进行合并。以下介绍了4种方法&#xff0c;使用Python批量实…

开发安全之:Path Manipulation

Overview 攻击者可以控制 file_get_contents() 文件系统路径参数&#xff0c;借此访问或修改原本受保护的文件。 Details 当满足以下两个条件时&#xff0c;就会产生 path manipulation 错误&#xff1a; 1.攻击者能够指定某一文件系统操作中所使用的路径。 2. 攻击者可以…

js数组长度不够补0 且 够的话则截取到期望长度

当我们需要处理数组的长度不够的情况时&#xff0c;可以通过补0来完成&#xff1b;数组长度够的情况下&#xff0c;需要截取期望的长度。 在示例代码中&#xff0c;我们定义了一个函数padArrZeroSubLength 它接受两个参数&#xff1a;原始数组和期望的长度。 1&#xff09;函…