ホームページ  >  記事  >  Java  >  複数の Java バージョンの柔軟な切り替えと管理

複数の Java バージョンの柔軟な切り替えと管理

angryTom
angryTom転載
2019-11-28 16:41:492908ブラウズ

前書き: ここ 2 年間、Java のバージョンが頻繁にアップグレードされ、ようやく Java8 をマスターできたような気がします。この記事を書いているときに、新しい機能を試すためか、Java14 のニュースを聞きました ( Java12 での Collectors.teeing の超強力な機能の使用)、またはプロジェクトによるアップグレード/互換性のニーズにより、私たちは皆、複数の Java バージョンを管理する状況に直面する可能性があります。

複数の Java バージョンの柔軟な切り替えと管理

また、Java11 以降、Oracle はユーザー規約を変更し、商用利用は有償となります。この記事を書いている途中に「MicrosoftがOpenJDKに参加すると発表」というニュースが入ってきましたが、どうしても勝てないならOpenJDKを選びましょう。しばらく G してください。ストーリーとして理解してください。

(推奨ビデオ: Java ビデオ チュートリアル)

単一の Java 環境変数を設定すること自体には技術的な内容はまったくありませんが、複数の Java バージョンを管理する必要がある場合、環境変数を繰り返し設定するのは明らかに退屈です。 Java バージョン

複数のバージョンの Java を簡単に管理して使用するにはどうすればよいですか?

マルチバージョン Java 管理

このジレンマに直面したのは私たちが初めてではありません。私が知っている既存の解​​決策は次の 3 つです。

# Jabba

● jenv

● sdkman

この記事では主に、sdkman を通じて直面する困難を打開し、柔軟に支援する方法について説明します。 configure Java の使用の概要

sdkman

SDKMAN は、複数のソフトウェア (Java、Groovy、Scala、Kotlin、Ceylon、Ant、Gradle など) を管理するためのソフトウェア開発ツールキットです。 。)。

これは、候補のインストール、切り替え、削除、リストを行うための便利なコマンド ライン インターフェイス (CLI) と API を提供します。この記事では、主に Java の管理による sdkman の使用法について説明します。

sdkman のインストール

Unix 系プラットフォームに sdkman をインストールするのは非常に簡単です。 Mac OSX、Linux、WLS、Cygwin、Solaris、FreeBSD に正常にインストールでき、Bash シェルと ZSH シェルもサポートしています。

新しいターミナルを開いて次のように入力します:

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

対応する指示プロンプトに従い、対応する操作を完了した後も入力を続けます:

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

ここで、インストールされたことを確認できます。 sdk のバージョン:

$ sdk version
sdk version

複数の Java バージョンの柔軟な切り替えと管理

上の図の赤いボックス マークは、現在の 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 チュートリアル

コマンドから新しいことを学ぶにはもちろん、ヘルプを確認してください コマンドを入力してください:

$ sdkman help
sdk help[object Object]

上の図で内容を色で区別したら、sdkmanの使い方は終わったような気がします。上の図に従って使い方のチュートリアルを説明していきましょう。詳細

sdk list

最初に入力します:

$ sdk list
sdk list[object Object]

緑色のマークはすべて、sdkman によって統合された利用可能な候補です。 Enter" ボタンを押すと、さらに多くの利用可能な候補が表示されます。

候補を指定します。

$ sdk list java
sdk list java[object Object]

上の図から、利用可能な Java のすべてのバージョンと、識別子と情報が表示されます。 Java 12 および 11 をインストールしました

#この情報を基に、sdkman の組み込みソフトウェア開発パッケージをインストールし、例として Java を引き続き使用できます

#sdk install


sdkman help コマンドの出力を振り返ると、install コマンドを使用して、別の Java 最新 13.0.1.j9 バージョン

をインストールします。

#上の図からわかるように、緑色でマークされた内容は list コマンドの結果のバージョン値ですが、エラーは利用できません。通常にダウンロードするには、識別子番号を入力してください。ここで注意してください。 複数の Java バージョンの柔軟な切り替えと管理

インストールが完了すると、ステータスはインストールされたステータスをプログラムします

sdk current

複数のバージョンの Java をインストールする場合、次のコマンドを入力して、現在使用しているバージョンを取得します。candidate

$ sdk current java
sdk current java

複数の Java バージョンの柔軟な切り替えと管理sdk use

現在のバージョンを理解します。別のバージョンに切り替えたい場合は、次のように入力します。

$ sdk use java 12.0.2.j9-adpt

注⚠️: ここでも同じです。指定された識別子の値です。

複数の Java バージョンの柔軟な切り替えと管理

sdk default

如果我们想指定某个版本为默认版本,可以输入:

$ sdk default java jdk1.8.0_162.jdk

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

複数の Java バージョンの柔軟な切り替えと管理

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 的安装,使用及下载都已经介绍完了,可以上手试一试了

本文来自php中文网,java教程栏目,欢迎学习!  

以上が複数の Java バージョンの柔軟な切り替えと管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。