旗下导航:搜·么
当前位置:网站首页 > JAVA教程 > 正文

搞定多个java版本的天真切换和治理【JAVA教程】,java版本,版本切换,版本管理

作者:搜教程发布时间:2019-11-29分类:JAVA教程浏览:45评论:0


导读:媒介:近两年,Java版本升级频仍,觉得方才控制Java8,写本文时,已听到java14的音讯,无论是尝鲜新特征(Java12中Collectors.teeing超强...
媒介:近两年,Java 版本升级频仍,觉得方才控制 Java8,写本文时,已听到 java14 的音讯,无论是尝鲜新特征(Java12 中 Collectors.teeing 超强功用运用),照样因为项目升级/兼容须要,我们大概都要面对治理多个 Java 版本的状况。

别的 Oracle 自 Java11 入手下手,更改了用户协定,任何商用都邑收费。在写本文时,获得音讯「微软宣告到场 OpenJDK」,打不过就挑选 OpenJDK。随意 G 一下,当个故事相识就能够

(引荐视频:java视频教程

设置单个 Java 环境变量自身没什么技术含量可言,但当须要治理多个 Java 版本,反复设置环境变量明显是异常死板的,根据传统的设置体式格局我们又不能天真的切换 Java 版本

那要怎样轻松治理与运用多个版本 Java?

多版本 Java 治理

明显我们不是第一个有这类逆境的人,我所晓得的现有计划有三种:

● Jabba

● jenv

● sdkman

本文重要申明怎样经由过程 sdkman 突破我们面对的逆境,协助我们天真设置与运用 Java

sdkman 引见

SDKMAN 是一个用于在大多数基于 Unix 体系上治理 多个软件开发东西包 (Java, Groovy, Scala, Kotlin and Ceylon. Ant, Gradle 等) 的并行版本的东西 。

它供应了一个轻易的敕令行接口 (CLI) 和 API,用于装置、切换、删除和列出候选对象。本文重要经由过程治理 Java 来申明 sdkman 的运用

sdkman 装置

在类 unix 平台上装置 sdkman 异常轻易。它能够顺遂的装置在Mac OSX、Linux、WLS、Cygwin、Solaris和FreeBSD 上,同时还支撑Bash和 ZSH shell。

只需翻开一个新终端机并输入:

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

根据响应的指令提醒,完成响应的操纵后继承输入:

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

到这里我们就能够考证 sdk 的装置版本了:

$ sdk version
sdk version

上图赤色框标记显现我当前 sdkman 的版本,每次实行 sdk version 敕令时,都邑搜检是不是会有新版本,假如要更新输入 y 就能够

有些体系发行版本不包括 zip 和 unzip,假如装置时碰到相干毛病,能够输入以下敕令装置 zip 和 unzip

$ sudo apt-get install zip unzip

从上面的装置敕令上能够看出,sdkman 默许的装置途径是在$HOME/.sdkman 下,我们也能够自定义装置途径,只须要指定 SDKMAN_DIR 变量值就好了:

$ export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash

到这里 sdkman 的装置就完毕了,我们来看看怎样运用

sdkman 运用教程

敕令行下进修一个新玩意当然是检察它的 help 敕令,输入:

$ sdkman help
sdk help[object Object]

觉得上图按色彩辨别内容后,sdkman 的运用申明也就完毕了,我们根据上面的图来细致申明一下运用教程

sdk list

先来输入:

$ sdk list
sdk list[object Object]

绿色的标记就是 sdkman 集成的一切可用的 candidate,经由过程按回车「enter」按键,会看到更多可用 candidate

我们指定 candidate,输入:

$ sdk list java
sdk list java[object Object]

从上图中能够看到一切 java 可用的版本 version,以及标识 indentifier,以及状况 status,我已装置了 java 12 和 11

有了这些信息做铺垫,我们能够装置恣意 sdkman 内置的软件开发包了,继承以 java 为例

sdk install

回看 sdkman help 敕令的输出,运用 install 敕令,我们再装置一个 Java 最新 13.0.1.j9 版本

从上图你能够看出,绿色标记的内容是 list 敕令效果中的 version 值,然则报错不可用,输入indentifier 编号才一般下载,这里须要注重

装置完后,status 就会编程 installed 状况

sdk current

当装置多个版本的 java 时,我们输入下面敕令猎取当前正在用 candidate 的版本

$ sdk current java
sdk current java

sdk use

相识了当前运用版本,假如我们想切换到其他版本, 能够输入:

$ sdk use java 12.0.2.j9-adpt

注重⚠️: 这里同样是指定的 indentifier 的值

sdk default

假如我们想指定某个版本为默许版本,能够输入:

$ sdk default java jdk1.8.0_162.jdk

注重⚠️: 这里同样是指定的 indentifier 的值

sdk uninstall

当我们想卸载某个版本能够输入:

$ sdk uninstall java 12.0.2.j9-adpt

注重⚠️: 这里同样是指定的 indentifier 的值

sdk upgrade

假如我们想升级某个 candidate,能够输入:

$ sdk upgrade java
sdk flush

运用 sdkman 时刻变长也会逐步发生许多缓存内容,我们能够输入

清算播送音讯:

$ sdk flush broadcast

清算下载的 sdk 二进制文件(长时刻运用后清算,能够节省出许多空间):

$ sdk flush archives

清算暂时文件内容:

$ sdk flush temp

到这里 sdkman 的基础运用就已引见完了,实在这些敕令都不必急,想不起来的时刻实行 sdk help 来暂时检察一下就好

sdkman 卸载

假如我们不喜欢 sdkman 了,我们也能够轻松的卸载掉它:

$ tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman
$ rm -rf ~/.sdkman

末了翻开你的 .bashrc、.bash_profile 和/或许 .profile,找到并删除下面这几行。

#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
[[ -s "/home/dudette/.sdkman/bin/sdkman-init.sh" ]] && source "/home/dudette/.sdkman/bin/sdkman-init.sh"

我用的 zshrc,找到 .zshrc 文件删撤除上面内容即可

到这里基于 Unix 体系的,有关 sdkman 的装置,运用及下载都已引见完了,能够上手试一试了

本文来自ki4网,java教程栏目,迎接进修!

以上就是搞定多个java版本的天真切换和治理的细致内容,更多请关注ki4网别的相干文章!

标签:java版本版本切换版本管理


欢迎 发表评论: