使用SDKMAN管理多个Java SDK! 轻松

SDKMAN! 是用于管理多个软件开发套件的并行版本的便捷工具。 该工具对Java开发人员特别有用,因为它支持JVM的SDK,例如Java,Groovy,Scala,Kotlin和Ceylon。 还支持Gradle,Maven,Spring Boot和许多其他工具。

  • 管理Java版本
  • 安装Maven和Gradle
  • 安装Spring Boot CLI
  • 链接

SDKMAN! 尽管最容易在所有基于Unix的系统上安装,但所有主要操作系统(包括Windows)都支持该功能。

在macOS上,打开终端并运行:

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

下载完成后,重新启动终端会话或运行:

 source "$HOME/.sdkman/bin/sdkman-init.sh" 

提示:我默认使用iTerm2终端。 在此博客文章中了解我在macOS上使用的工具: macOS:(Java)开发人员的必备工具

安装完成后, SDKMAN! 提供了一个方便的sdk命令来管理SDK,称为Candidates 。 要列出所有可用的候选人,请使用sdk list命令。

管理Java版本

我最喜欢SDKMAN的地方! 在您的操作系统中管理不同的Java版本是一件轻而易举的事情。 您可以使用基本命令列出,安装,卸载并将选定的Java版本设置为默认版本。

  • 要列出可用的Java版本,请运行:

    sdk list java

 $ sdk list java  ================================================================================  Available Java Versions  ================================================================================ Vendor       | Use | Version     | Dist   | Status    | Identifier  -------------------------------------------------------------------------------- AdoptOpenJDK |    | 13.0 . 1 .j9   | adpt   |           | .j9   | adpt   |           | 13.0 . 1 .j9-adpt |    | 13.0 . 1 .hs   | adpt   |           | .hs   | adpt   |           | 13.0 . 1 .hs-adpt GraalVM      |    | 19.3 . 0 .r11  | grl    |           | .r11  | grl    |           | 19.3 . 0 .r11-grl |    | 19.3 . 0 .r8   | grl    |           | .r8   | grl    |           | 19.3 . 0 .r8-grl |    | 19.3 . 0.2 .r11 | grl    |           | .r11 | grl    |           | 19.3 . 0.2 .r11-grl Java.net     |    | 15 .ea. 2 | open   |           | | open   |           | 15 .ea. 2 -open |    | 14 .ea. 28 | open   |           | | open   |           | 14 .ea. 28 -open | >>> | 13.0 . 1 | open   | installed | | open   | installed | 13.0 . 1 -open |    | 12.0 . 2 | open   | installed | | open   | installed | 12.0 . 2 -open |    | 11.0 . 2 | open   |           | | open   |           | 11.0 . 2 -open |    | 10.0 . 2 | open   |           | | open   |           | 10.0 . 2 -open |    | 9.0 . 4 | open   |           | | open   |           | 9.0 . 4 -open  ================================================================================  Use the Identifier for installation: $ sdk install java 11.0 . 3 .hs-adpt  ================================================================================ 
  • 要安装给定版本,请使用标识符

    sdk install java 12.0.2-open

可以在家用SDKMAN中找到已安装Java版本的二进制文件 该目录默认为~/.sdkman/candidates/java

 $ ls -al ~/.sdkman/candidates/java/  drwxr-xr-x 9 rafal.borowiec staff 288 Jan 4 00 : 33 12.0 . 2 -open  drwxr-xr-x 9 rafal.borowiec staff 288 Oct 6 14 : 05 13.0 . 1 -open  lrwxr-xr-x 1 rafal.borowiec staff 57 Jan 4 00 : 20 current -> /Users/rafal.borowiec/.sdkman/candidates/java/ 13.0 . 1 -open 

例如,如果要在IntelliJ的项目中使用多个版本,这将很有用。

  • 要将给定版本设置为默认运行:

    sdk default java 12.0.2-open

我们可以使用sdk default命令快速验证更改版本有多么容易:

 $ java -version  openjdk version "13.0.1" 2019 - 10 - 15  OpenJDK Runtime Environment (build 13.0 . 1 + 9 )  OpenJDK 64 -Bit Server VM (build 13.0 . 1 + 9 , mixed mode, sharing)  $ ls -al ~/.sdkman/candidates/java/  drwxr-xr-x 9 rafal.borowiec staff 288 Jan 4 00 : 33 12.0 . 2 -open  drwxr-xr-x 9 rafal.borowiec staff 288 Oct 6 14 : 05 13.0 . 1 -open  lrwxr-xr-x 1 rafal.borowiec staff 57 Jan 4 00 : 20 current -> /Users/rafal.borowiec/.sdkman/candidates/java/ 13.0 . 1 -open  $ sdk default java 12.0 . 2 -open  Default java version set to 12.0 . 2 -open  $ java -version  openjdk version "12.0.2" 2019 - 07 - 16  OpenJDK Runtime Environment (build 12.0 . 2 + 10 )  OpenJDK 64 -Bit Server VM (build 12.0 . 2 + 10 , mixed mode, sharing)  $ ls -al ~/.sdkman/candidates/java/  drwxr-xr-x 9 rafal.borowiec staff 288 Jan 4 00 : 33 12.0 . 2 -open  drwxr-xr-x 9 rafal.borowiec staff 288 Oct 6 14 : 05 13.0 . 1 -open  lrwxr-xr-x 1 rafal.borowiec staff 57 Jan 5 11 : 49 current -> /Users/rafal.borowiec/.sdkman/candidates/java/ 12.0 . 2 -open 
  • 要在当前终端会话中使用给定版本,请运行:

    sdk use java 12.0.2-open

安装Maven和Gradle

Maven和Gradle是开源工具,用于自动化构建应用程序和管理其依赖项的过程。 两种工具都可以使用SDKMAN进行管理

  • 使用以下命令安装Maven:
 $ sdk install maven  Downloading: maven 3.6 . 3  In progress... 100.0 %  Installing: maven 3.6 . 3  Done installing!  Setting maven 3.6 . default as 3 . 
  • 使用以下命令安装Gradle:
 $ sdk install gradle  Downloading: gradle 6.0 . 1  In progress... 100.0 %  Installing: gradle 6.0 . 1  Done installing!  Setting gradle 6.0 . default as 1 . 

如果您需要Gradle或Maven的多个版本,则可以通过提供所需版本的sdk install maven 3.6.1来安装它们, sdk install maven 3.6.1 ,然后使用sdk setsdk default命令在它们之间进行切换。

安装Spring Boot CLI

Spring Boot CLI是一个命令行工具,如果您想快速开发Spring应用程序,可以使用它。

您可以使用sdk list springboot命令检查可用的Spring Boot版本:

 $ sdk list springboot  ================================================================================  Available Springboot Versions  ================================================================================ 2.2 . 2 .RELEASE 2.0 . 1 .RELEASE 1.5 . 1 .RELEASE 1.2 . 3 .RELEASE 2.2 . 1 .RELEASE 2.0 . 0 .RELEASE 1.4 . 7 .RELEASE 1.2 . 2 .RELEASE 2.2 . 0 .RELEASE 1.5 . 22 .RELEASE 1.4 . 6 .RELEASE 1.2 . 1 .RELEASE 

通过运行sdk install springboot安装默认版本。

安装后, spring命令将可用:

 $ spring  usage: spring [--help] [--version] <command> [<args>] 

您现在可以通过运行以下命令来引导新的Spring Boot项目:

 $ spring init --build=gradle --java-version= 12 --dependencies=web --packaging=jar my-app.zip  Using service at https: //start.spring.io  Content saved to 'my-app.zip' 

解压缩该zip文件,然后从应用程序目录中运行:

 gradle bootRun  Tomcat started on port(s): (http) with context path '' Tomcat started on port(s): 8080 (http) with context path  2020 - 01 - 04 12 : 36 : 59.704 INFO 57156 --- [          main] com.example.myapp.DemoApplication       : Started DemoApplication in 1.251 seconds (JVM running for 1.485 ) 

注意:以上命令使用了随SDKMAN一起安装的全局Gradle发行版! ,您也可以通过调用./gradlew命令在本地Gradle安装中运行它。

应用程序启动后,请检查它是否响应您的请求:

 $ http localhost: 8080  HTTP/ 1.1 404  Connection: keep-alive  Content-Type: application/json  Date: Sun, 2020 Jan 05 Jan 2020 11 : 38 : 08 GMT  Keep-Alive: timeout= 60  Transfer-Encoding: chunked  Vary: Origin  Vary: Access-Control-Request-Method  Vary: Access-Control-Request-Headers  { "error" : "Not Found" , "message" : "No message available" , "path" : "/" , "status" : 404 , "timestamp" : "2020-01-05T11:38:08.041+0000"  } 

提示:我使用的是httpie客户端,而不是cURL 。 在此博客文章中了解我在macOS上使用的工具: macOS:(Java)开发人员的必备工具

链接

  • SDKMAN!
  • macOS:(Java)开发人员必备工具

您是否使用SDKMAN! ? 您什么时候觉得有用? 在评论中分享您的想法。

翻译自: https://www.javacodegeeks.com/2020/01/manage-multiple-java-sdks-with-sdkman-with-ease.html

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

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

相关文章

linux wordpress伪静态,wordpress程序在win和Linux系统下的伪静态设置 - 张力博客

这是一篇很早就应该写的文章&#xff0c;而在昨天就有朋友问我&#xff0c;为什么不写一下关于wordpress的伪静态设置呢&#xff1f;今天这篇文章我就来跟大家说一下&#xff0c;关于wordpress程序在win和Linux系统下的伪静态设置方法。第一种&#xff1a;win系统下的wordpress…

Java并发编程实战_阿里P9整理分享的亿级流量Java高并发与网络编程实战PDF

前言为了帮助初级开发者快速掌握高并发、网络编程、微服务、海量数据的处理这些实用技术&#xff0c;本文以“理论范例”的形式对各个知识点进行了详细的讲解&#xff0c;力争让读者在实践中快速掌握相关知识。为了让有java、数据库和web基础的学生&#xff0c;初、中级java开发…

r语言 林元震_科学网—R语言简介 - 林元震的博文

R既是软件&#xff0c;也是语言&#xff0c;在GNU协议General Public Licence下免费发行&#xff0c;是1995年由新西兰奥克兰大学统计系的Ross Ihaka和Robert Gentleman基于S语言基础上共同开发的一种统计软件。现在由R开发核心小组(R Development Core Team)负责维护与更新&am…

英特尔 620 显卡 驱动 七代cpu_英特尔的智能“整体厨房”

其实&#xff0c;英特尔的战略非常容易理解。做最智能的“橱具”、最智能的“橱柜”、最智能的“橱电”。然后&#xff0c;顺理成章地构建起最智能“整体厨房”。再然后&#xff0c;用户可以在最优适配的软硬件环境中&#xff0c;专注于对数据的烹饪。当然&#xff0c;这是只是…

linux kvm安装win7,详解在 KVM 上安装 Win7 虚拟机

详解在 KVM 上安装 Win7 虚拟机发布时间&#xff1a;2017-04-04 21:09来源&#xff1a;互联网当前栏目&#xff1a;web技术类之前都是在用Linux 虚机&#xff0c;现在有需要用到Win7 虚机&#xff0c;才发现在 KVM 上安装 Win7 的过程远比想象中的复杂。本文就把其过程做个简单…

linux 如何获得后缀_Bugku:杂项 linux

打开这道题&#xff0c;标题是linux&#xff0c;让人心中一紧。提示为linux基础问题。下载压缩包解压之后是一个文件&#xff0c;没有后缀名&#xff0c;用010 Editor打开看看。全是空啊&#xff01;&#xff01;&#xff01;&#xff01;突然在中间找到了一点点文字&#xff0…

gradle引入依赖:_Gradle入门:依赖管理

gradle引入依赖:即使不是没有可能&#xff0c;创建没有任何外部依赖关系的现实应用程序也是一项挑战。 这就是为什么依赖性管理是每个软件项目中至关重要的部分的原因。 这篇博客文章描述了我们如何使用Gradle管理项目的依赖关系。 我们将学习配置已使用的存储库和所需的依赖项…

jquery怎么判断不同的字显示不同的颜色_这个双十一,摄影师的显示器该换了,优派VP2785-2K显示器评测_显示器...

2020-11-03 23:07:380点赞0收藏0评论想攒一台电竞主机、家用主机、酷炫主机无从下手&#xff1f;想省钱又怕性能不达标&#xff1f;值得买帮你打造定制化DIY装机工具&#xff0c;自助全网比价装机&#xff0c;提供最适合的搭配方案&#xff0c;解决各种攒机场景下难题。>快快…

c语言字体取模软件下载,非常好用的lcd汉字取模软件下载_非常好用的lcd汉字取模软件官方下载-太平洋下载中心...

修正了华文中宋汉字模生成过程中的切(底)边现象&#xff0c;配合lcmsim排版仿真软件一起使用&#xff0c;可以大大提高单片机编程的工作效率。几点说明&#xff1a;1。打开功能是专门用于对c语言文件自动提取显示所需要的汉字&#xff0c;进行点阵码数据转换的&#xff0c;在您…

thymeleaf双重循环_spring boot: 用thymeleaf嵌套循环展示多层数据(spring boot 2.3.2)

一&#xff0c;什么情况下会用到嵌套循环&#xff1f;当我们展示多个分类时&#xff0c;每个分类下又展示出推荐的前几个商品&#xff0c;这时我们需要用到嵌套循环看一个例子&#xff1a;说明&#xff1a;作者:刘宏缔 邮箱: 371125307qq.com二&#xff0c;演示项目的相关信息1…

CUBA平台:TypeScript SDK和REST API

在本文中&#xff0c;我们将讨论已存在很长时间但尚未广为人知的CUBA平台的功能- 前端SDK生成器 &#xff0c;并了解它如何与CUBA的REST API插件一起使用 。 Java JavaScript –网络婚姻 仅八年前&#xff0c;我们Java开发人员在我们的Web应用程序中使用JavaScript作为“第二…

wifiphisher 依赖_铂瑞思:总是依赖别人的话,就永远也长不大

我们每个人都会或多或少的对他人产生依赖&#xff0c;依赖一词&#xff0c;可被定义为过度需要依靠他人的支持、指导、照顾和保护。但一部分人由于形成了与他人不同的思维与行为模式&#xff0c;导致了依赖型人格障碍的产生。依赖性人格障碍以过分依赖为特征&#xff0c;表现为…

米兔机器人自主编程_978个零件+自主编程,米兔机器人价格仅为友商八分之一...

作为一个“大孩子”&#xff0c;我也喜欢拼积木&#xff0c;看重了一款乐高的可变性积木竟然售价4000多&#xff0c;太贵了&#xff0c;实在买不起。然后就搜索到了小米的这款米兔儿童机器人&#xff0c;性能上能达到乐高95%以上&#xff0c;价格却只有八分之一&#xff0c;果断…

网站开发用什么语言好_网站开发教程:企业如何用网站开启在线业务?

用网站来开启互联网在线业务是很好的方法&#xff0c;对于创业型企业来说&#xff0c;进行自己的企业网站开发制作能够加快实现品牌业务目标。下面这个教程将会教你如何开展在线业务、并利用网站来扩大业务&#xff01;1.确定目标市场创业团队需要明确自己的目标市场&#xff0…

c语言字符指针初始化赋值,C语言_指针变量的赋值与运算,很详细详解

指针变量的赋值指针变量同普通变量一样&#xff0c;使用之前不仅要定义说明&#xff0c; 而且必须赋予具体的值。未经赋值的指针变量不能使用&#xff0c; 否则将造成系统混乱&#xff0c;甚至死机。指针变量的赋值只能赋予地址&#xff0c; 决不能赋予任何其它数据&#xff0c…

ospf工作原理_OSPF动态路由配置经典案例

前导知识点&#xff1a;静态路由结合上一讲讲解的距离矢量路由协议&#xff0c;本讲我们讲解链路状态路由协议----OSPF&#xff0c;相比较于RIP&#xff0c;OSPF能够支持大型网络&#xff0c;下面列出RIP和OSPF的对比图&#xff0c;进一步说明了OSPF的强大。RIP最多支持15台路由…

gridview ashx实现数据更新_Python分析了香港26281套在售二手房数据,结果发现

作者&#xff1a;J哥背景香港的贫富差距问题一直十分尖锐&#xff0c;最突出的体现就是收入和楼价的巨大差异。早在60年代末香港房价就经历了暴涨&#xff0c;人们早已对不动产的金融属性了如指掌&#xff0c;全港的投资情绪一直都相当火热。即便香港当前失业率高企&#xff0c…

线性单链表存储结构c语言代码,单链表定义-(线性表的链表存储结构)

线性表分为:顺序存储结构和连存储结构顺序存储结构的优点:1.空间利用率高,几乎不需要额外的空间开销.2.数据的逻辑结构和物理结构完全一致.3.结点地址计算的时间和线性表的规模大小无关.4.可以用一维数组实现存储.但是有两个致命的缺点:1.顺序存储结构的存储空间是静态分配,必须…

idea 自动生成mybaits_怎么让idea自动创建mybatis配置文件

已采纳一、在pom.xml中添加plugin其中generatorConfig.xml的位置&#xff0c;大家根据实际情况自行调整二、generatorConfig.xml配置文件1 <?xml version"1.0" encoding"UTF-8"?>2 /p>3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Co…

奇奇seo优化软件_西藏seo关键词优化软件

西藏seoxaa0c1关键词优化软件&#xff0c;网站在建立时搜索引擎是较为完善的基本上是不太需要长期进行优化的&#xff0c;但是近几年搜索引擎优化的频率开始增加&#xff0c;这让人有些好奇&#xff0c;搜索引擎优化的目的是什么&#xff1f;为什么受企业欢迎呢&#xff1f;网站…