WindowsにOpenJDK 11をインストールする方法


269

以前は、Oracleは次のようなWindows用の実行可能インストーラーを公開していました。

  • ファイルを解凍する
  • インストールされているバージョンとパスを示すレジストリキーを追加する
  • JREをシステムPATHに追加します。
  • Windowsにアンインストーラーを登録します。

Java 11以降、Oracleの無料バージョンのJava(Oracle OpenJDK)にはインストーラーが含まれていないようです。これは、バイナリを含む単なるzipファイルです。

前述の統合がなくなったのを見て、WindowsにOpenJDK 11をインストールする方法を教えてください。それらは必要ではありませんか?


1
レジストリを変更する必要は実際にはありませんでした。また、システムを操作しない場合は、アンインストーラーも必要ありません。
ホルガー

1
@Giliは、JAVA_HOME環境変数を使用するか、IntelliJ IDEaのようにconfigの直接パスを介して実行しますか?
ミハイルホロドコフ2018

13
OpenJDKのWindowsインストーラーを提供するコミュニティプロジェクトojdkbuildがあります。JDK 11はまだ利用できませんが、すぐに入手できることを願っています。
ZhekaKozlov

1
@Gili wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F#Find_the_JVMは、レジストリがどこにも表示されないことに注意してください...
Holger

1
@Robertさん、ブラウザプラグイン、コントロールパネル、自動更新ツール、Askツールバーのクラップウェアがなければ、インストールするものがあまりありません。
Holger

回答:


339
  1. たとえば、zipファイルをフォルダーに抽出C:\Program Files\Java\すると、jdk-11フォルダーが作成されます(binフォルダーは直接のサブフォルダーです)。この場所にzipファイルを抽出するには、管理者権限が必要な場合があります。

  2. パスを設定します。

    • [コントロールパネル]、[システム]の順に選択します。
    • 「詳細設定」をクリックし、次に「環境変数」をクリックします。
    • JDKインストールのbinフォルダーの場所をシステム変数のPATH変数に追加します。
    • 以下は、PATH変数の一般的な値です。 C:\WINDOWS\system32;C:\WINDOWS;"C:\Program Files\Java\jdk-11\bin"
  3. JAVA_HOMEを設定します。

    • [システム環境変数]で、[新規]をクリックします。
    • 変数名としてJAVA_HOMEを入力します。
    • 変数値をJDKのインストールパス(binサブフォルダーなし)として入力します。
    • OKをクリックします。
    • 「変更の適用」をクリックします。
  4. IDE(IntelliJやEclipseなど)でJDKを設定します。

あなたは設定されています。

機能したかどうかを確認するには、コマンドプロンプトを開いて入力しjava -version、新しくインストールしたJDKが出力されるかどうかを確認します。

アンインストールする場合は、上記の手順を元に戻します。

注:JAVA_HOME JDKインストールのフォルダーをポイントして、PATH変数をに設定することもできます%JAVA_HOME%\bin。したがって、JDKを変更する場合は、JAVA_HOME変数のみを変更し、そのままPATHにします。


9
たとえば、Launch4jがインストール済みのjre / jdkを見つけるために使用するレジストリエントリを忘れないでください。
ロバート

2
@Lior:これは、レジストリエントリを使用するプログラムの1つにすぎません。これらのレジストリエントリを使用する他のプログラムも数十または数百ある場合があります。
Robert

4
そうかもしれないが:a。レジストリを設定せずにバージョン1.1からJavaを使用しました。これは必須ではありません。b:Windowsレジストリは、回避するためのメカニズムとして一般的に考えられています(例:blog.codinghorror.com/was-the-windows-registry-a-good-idea)-したがって、具体的には使用しないでください。必要。例-値を誤って設定すると、回復が困難なエラーが発生する可能性があります。
Lior Bar-On

25
> 複数のJDKがインストールされているフォルダーをJAVA_HOMEにポイントできます。これは完全に間違っています。多くのプログラムとスクリプトは、JAVA_HOMEがデフォルトのJavaインストール(jdkまたはjre)を指していると想定し、「%JAVA_HOME%\ bin」でバイナリを検索します。したがって、JAVA_HOMEに複数の jdkインストールがあるフォルダを指定することはできません。代わりに、パスに値 "%JAVA_HOME%\ bin;"を追加できます。その後(新しいJDKがインストールされている場合)JAVA_HOMEのみを更新できます
kool79

2
@sarkasronie launch4jのソースコードを参照:sourceforge.net/p/launch4j/git/ci/Release_launch4j-3_12/tree/…(HKEY_LOCAL_MACHINEの下)
Robert

142

AdoptOpenJDKは、Javaコミュニティによってホストされる新しいWebサイトです。OpenJDK 8から14の.msiインストーラーがそこにあり、質問にリストされているすべてのことを実行します(解凍、レジストリキー、PATH変数の更新(およびJAVA_HOME)、アンインストーラー...)。


5
受け入れられた答えは正しいですが、これはJDK / JREの任意のバージョンをインストールするはるかに便利な方法です
optevo

21

@ZhekaKozlovのコメントから:ojdkbuildには、Windows(zipおよびmsi)用のOpenJDKビルド(現在は8および11)があります。


3
私にとって、これらのビルドはPATH変数を正しく設定していませんでした。少なくともjava -version、必要な出力を発行して取得することはできません。
hannes101

1
OpenJDK msiが見つかりません。スクリプトを実行して、今日の回答で共有します。これは、マシンのPATHとJAVA_HOMEを抽出して設定します。
vezenkov

1
@vezenkov:ここで答えを更新してください(理由はコミュニティウィキです)、プロジェクトの問題をオープンしてください。
MartinSchröder19年

以前のバージョンからアップグレードする場合に受け入れられた回答に追加するには、サーバーを再起動して、コマンドラインでopenjdkバージョンが更新されることを確認する必要がありました。
desiguy

21

Chocolateyパケットマネージャーを使用します。npmに似たコマンドラインツールです。インストールしたら、次を使用します

choco install openjdk

管理者特権のコマンドプロンプトでOpenJDKをインストールします。

インストールされているバージョンを最新バージョンに更新するには、次のように入力します。

choco upgrade openjdk

使い方は非常に簡単で、最新バージョンへのアップグレードに特に役立ちます。パス環境変数を手動でいじる必要はありません。


3
これにより最新バージョンがインストールされることに注意してください:openjdk-12.0.2_windows-x64
Vadzim

他のバージョンのJavaがインストールされている場合は、パス変数を確認し、古いものを削除または変更することができます。
Ketu、

1
@Vadzim chocoはopenjdk11を今日バージョンとしてインストールしますが、バージョンについては言及していません。openjdk-13をインストールします。他の回答と同様にAdoptOpenJDKを使用します
FIV

1

Amazon Correttoを使用できます。OpenJDKのマルチプラットフォームのプロダクションレディディストリビューションは無料で使用できます。パフォーマンスの強化とセキュリティ修正を含む長期サポートが付属しています。こちらのインストール手順を確認してください。

アズールからズールーをチェックすることもできます。

ここで強調したいもう1つの点は、Amazon CorrettoとZuluの両方がTCKに準拠していることです。OpenJDKビルドの比較はここここで確認できます


-3

Oracle Javaアンインストーラーはすべてのファイルを削除しません。
「C:\ ProgramData \ Oracle」が存在するかどうかを確認します。サブディレクトリにいくつかのJavaファイルがあることを確認します。(例:java.exe、javaw.exe)
間違ったjavaファイルの実行を防ぐために削除します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.