JDK および JDK インストール構成に関するいくつかの概念 (Linux/Windows に適用)

序文

Java開発環境の構築は実は複雑ではなく、「環境変数」「ターミナルテスト版」のダウンロードとインストールという流れです。問題は、Java には、OpenJDK、OracleJDk、JavaSE、JavsEE、JavaME など、区別するのが難しい概念がたくさんあることです。実際、それらを理解するのは複雑ではありません。

参考

1.JDKにはたくさんの名前がありますか? 違いは何ですか?

問題の起源は Java 開発の歴史から始まる必要があります。簡単に言うと、以前は Java は Sun によって管理されていましたが、その後 Oracle が Java を引き継ぎ、Java の更新を続けました。Oracle がリリースした Java は OracleJDK と呼ばれていました。その後、Oracle は Java をオープンソース化し、OpenJDK プロジェクトを設立しました。このプロジェクトはその後のプロジェクトです。 OpenJDKになりました。言い換えればOracleJDK和OpenJDK是一家公司的、それらは異なるパスによって同じ目標に到達し、少なくともコードレベルではそれらの違いは最小限になります。大きな違いはライセンスにあります。

OpenJDK はライセンス GPL v2 に基づいてリリースされ、
OracleJDK は Oracle Binary Code License に基づいてライセンスされます。

OpenJDK プロジェクトのホームページOpenJDK
ダウンロード
ページOracleJDK のホームページ

その後、より多くの企業が OpenJDK のメンテナンスに参加し、大手インターネット企業も次のように独自の商用標準を備えた JDK をリリースしました。

建てる LTS 寛容なライセンス TCK検査 アップストリームからの未変更のビルド 商用サポートを提供する
OpenJDKの採用 はい はい いいえ オプション オプション (IBM)
アリババ・ドラゴンウェル はい はい はい いいえ いいえ
アマゾンコレクト はい はい はい いいえ オプション (AWS 上)
ズールーブルー はい はい はい いいえ オプション
BellSoft リベリカ JDK はい はい はい いいえ オプション
ファーウェイビシェンJDK はい はい はい いいえ いいえ
IBM Java SDK はい いいえ はい いいえ はい
OpenJDKのMicrosoftビルド はい はい はい いいえ No (beta)
ojdkbuild はい はい いいえ はい いいえ
オープンロジック OpenJDK はい はい はい いいえ オプション
Oracle GraalVMコミュニティ・エディション いいえ はい はい いいえ いいえ
Oracle GraalVMエンタープライズ・エディション はい いいえ はい いいえ はい
オラクル Java SE はい いいえ はい いいえ はい
Oracle OpenJDK いいえ はい はい はい いいえ
OpenJDK の Red Hat ビルド はい はい はい いいえ はい
テンセント・コナ はい はい はい いいえ いいえ
SAP サップマシン はい はい はい いいえ オプション (SAP 製品の場合)

LTS:「Long Term Support」の略、つまり長期サポート版
TCK:OpenJDKプロジェクトが提供するテスト、実はあまり重要ではない

全体として、どの JDK であっても、ある程度は OpenJDK プロジェクトから派生したものであると言えますが、プロトコルやインターフェースなどに若干の違いがあります。

2. JavaEE、JavaSE、JavaMEとは何ですか?

JavaSE: Java Standard Edition の略称、一般に JDK として知られる
JavaEE: Java Platform Enterprise Edition の略称、Java Platform Enterprise Edition エンタープライズ向けに主に使用される JavaSE に一連のインターフェースと標準が追加されたものWeb 開発を含むレベル開発。
JavaME: Java Micro Edition は Java SE の短縮版であり、主に携帯電話やセットトップ ボックスなどのモバイル デバイスの開発に使用されます。

3. JDK を選択するにはどうすればよいですか?

オリジナルの OpenJDK を直接使用することはお勧めできません。

上の表で「はい」が多ければ多いほど良いというわけではありません。

個人的には、Debian システムの .deb パッケージなど、オペレーティング システムに対応したインストール パッケージがあるものをお勧めします。主な理由は、インストール パッケージを使用すると、構成のアンインストールなどに便利であり、一部のインストール パッケージは環境を設定するためです次に、一部の Java アプリケーションはレジストリを検出することで Java の場所を検出しますが、インストール パッケージを使用すると非常に便利です。

最終的には、アーキテクチャや必要な JDK バージョンなどの個人的なニーズに基づいて選択します。Alibaba の DragonWell には JDK8 と JDK11 しかありません。
個人的にはBellSoft社のJDK(完全版)、AdoptiumJDK、AmazonJDKがおすすめで、ランキングはおすすめ度を示しています。共通の特徴は、インストール パッケージの提供、複数の JDK バージョン、国内向けの高速ダウンロードです。

4.JDKのインストールと設定

BellSoftJDKを例に挙げます

ウィンドウズ

公式サイトからmsiインストールパッケージをダウンロードしてインストールします。

次に、環境を設定します (BellSoft の JDK が環境変数を直接追加します。気にしない場合はそのままにしておいても問題ありません。ここでは直接削除することにします)。
ここに画像の説明を挿入します

システム変数に新しい変数を作成しますJAVA_HOME。すべて大文字です。一部のソフトウェアは、デフォルトで JAVA_HOME 環境変数を介して JDK を取得します。複数の JDK がある場合は、私のように設定して、グローバル JDK を 1 つだけで切り替えることができます。簡単な変更。

ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

Path で次のことを宣言することを忘れないでください。この Path は今後触れる必要はありません。JAVA_HOME を
ここに画像の説明を挿入します
直接操作した後でも、cmd で確認できます。
ここに画像の説明を挿入します

Linux

インストールパッケージがある場合は直接インストールし、ない場合は解凍先を探して、最終的にフォルダを作成します。

インストールパッケージを使用してインストールする場合は、update-alter の登録手順を直接スキップできますが、zip でインストールする場合は、jdk に対応する update-alter を手動で登録する必要があります。参考記事

update-alternatives --install /usr/bin/java java /example/jdk-1.8/bin/java 100 ##最后面的数字大小表示优先级
update-alternatives --install /usr/bin/java java /example/jdk-11/bin/java 200 ##倒数第二个参数是JDK目录
update-alternatives --install /usr/bin/java java /example/jdk-17/bin/java 300 ##其它的不用动

update-alternatives --install /usr/bin/javac javac /example/jdk-1.8/bin/javac 100
update-alternatives --install /usr/bin/java javac /example/jdk-11/bin/javac 200
update-alternatives --install /usr/bin/javac javac /example/jdk-17/bin/javac 300

いずれの場合でも、update-alternatives --config javacupdate-alternatives --config javaを使用してコンパイラをすばやく切り替えることができます。
ここに画像の説明を挿入しますまた、 と で利用可能な次の環境変数を後で追加することもできます~/.zshrc~/.bashrcこれらをグローバルに直接構成することはお勧めできません。
この環境変数はオプションには影響しないことに注意してくださいupdate-alternatives --config javac。jdk8 を選択した場合、コンパイラの出力は jdk8 のままであり、jdk17 の java_home であるため変更されません。
画像の説明を追加してくださいこれが存在する必要があることに注意してください/

より熟練している場合は、.zshrc のエイリアスの省略形を使用して、Java バージョンと javac バージョンをすばやく切り替えることもできます。
ここに画像の説明を挿入します

alias changejdk8="echo 2 | sudo update-alternatives --config java && echo 2 | sudo update-alternatives --config javac && java -version && javac -version"

オフトピック: VSCode 構成

VSCode の Java プラグインは JDK を使用しない場合があります。この場合は、手動で構成する必要があります。

LinuxとWindowsは同じです

ここに画像の説明を挿入します
複数の JDK がある場合は、次のように設定できます。デフォルトとマークされている JDK は、デフォルトで JDK を使用します。

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/m0_74075298/article/details/132562410