前書き: ここ 2 年間、Java のバージョンが頻繁にアップグレードされ、ようやく Java8 をマスターできたような気がします。この記事を書いているときに、新しい機能を試すためか、Java14 のニュースを聞きました ( Java12 での Collectors.teeing の超強力な機能の使用)、またはプロジェクトによるアップグレード/互換性のニーズにより、私たちは皆、複数の 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
上の図の赤いボックス マークは、現在の 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 コマンドの結果のバージョン値ですが、エラーは利用できません。通常にダウンロードするには、識別子番号を入力してください。ここで注意してください。
インストールが完了すると、ステータスはインストールされたステータスをプログラムしますsdk current
複数のバージョンの Java をインストールする場合、次のコマンドを入力して、現在使用しているバージョンを取得します。candidate
$ sdk current java sdk current java
sdk use
現在のバージョンを理解します。別のバージョンに切り替えたい場合は、次のように入力します。
$ sdk use java 12.0.2.j9-adpt注⚠️: ここでも同じです。指定された識別子の値です。
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 的安装,使用及下载都已经介绍完了,可以上手试一试了
本文来自php中文网,java教程栏目,欢迎学习!
以上が複数の Java バージョンの柔軟な切り替えと管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。