Javaをインストールする: asdf-javaで複数のJDKバージョンを簡単に管理する
Javaのインストールはスマートでなければならない。 より具体的に言えば、将来を念頭に置いてインストールすべきである。
Javaで開発する場合、必然的にJava環境の複数のバージョンやディストリビューションを使う必要がある。 異なるプラットフォーム、異なるパッケージ、異なるバージョンは、同じJava言語をサポートしている。 ディストリビューションによって、ライセンス、パフォーマンス、テクニカルサポートも異なるため、特定のニーズに合ったものを使用する必要がある。
1.asdf-javaでJavaをスマートにインストールする
Oracleを含め、Javaディストリビューションを提供するベンダーが提供するデフォルトのインストーラーでJavaをインストールするのは、それぞれインストールパスが異なるため、面倒な場合がある。 同じディストリビューションの複数のバージョンをインストールする場合も同様だ。 そこで、Javaの複数のバージョンやディストリビューションを一箇所で管理できる無料のバージョン・マネージャーがいくつかある。私が使用し、推奨しているのはasdf-javaである。
asdfはJavaだけでなく、他の多くの言語や開発ツールのバージョン管理も行っている。 asdf-java、asdf-python、その他の言語やツールのプラグインをインストールして、1つのプログラムですべてを管理することができる。 他の言語を使用しない場合でも、asdfのシンプルさは使用する価値がある。
asdfの詳細な説明とインストール方法については、asdfのインストールと使い方を参照してほしい。
asdf-javaプラグインのインストールとasdfを使ったJavaのインストールは、MacOSでもWindowsでも同じように動作する。ここではmacOSを使うことにする。
2. asdf-javaプラグインをインストールするには
ターミナルを開き、以下のコマンドを実行してasdf-javaプラグインをインストールする。
asdf plugin-add java https://github.com/halcyon/asdf-java.git
エラーメッセージが表示されずに次のプロンプトに進めば、インストールはうまくいっている。
結果を実行する:
インストールを確認するには、次のコマンドを入力する。このコマンドは、現在インストール可能なすべてのJavaディストリビューションのリストを表示する。
asdf list all java
条件を追加してJDK 20
をサポートするリストを返したが、いくつかの例外がある。
結果は
このように表示されれば、プラグインのインストールは成功です。
さまざまなJavaディストリビューションのうち、どれをインストールすればいいかわからない場合は、以下の記事が役に立つだろう。
6つの一般的なJavaディストリビューション: Oracle、OpenJDK、Adoptium、Zulu、Corretto、Liberica
3. Javaバージョンのインストール方法
それでは、お望みのJavaバージョンをインストールしましょう。あなたのディストリビューションでインストール可能なすべてのバージョンを見るには、以下のコマンドを使ってください。
[distribution_name]
の部分に、インストールしたいディストリビューションの名前を入力します。ここではOpenJDKディストリビューションをインストールすることにします。
asdf list all java [distribution_name]
以下のような出力をらせる。
実行結果:
それではインストールしてみよう。次のコマンドを実行することで完了する。[version_name]
の部分には、上記と同じバージョン名を入れてください。
asdf install java [version_name]
ターミナルにローディング・バーが表示され、インストールが続行されます。インストールが完了したら、以下のコマンドでインストールされたバージョンを確認できます。
asdf list java
結果は以下の通りである。
実行結果です:
4. Javaのインストールパスの確認
asdfによってインストールされるJavaのパスは ~/.asdf/installs/java/[installed_version]
である。
WindowsでWSLを使用している場合も同じディレクトリです。コマンドで簡単に確認できます。
5. インストールされているJavaバージョンの設定
次のステップは、インストールされているJavaのバージョンを設定することです。ほとんどのバージョンマネージャーと同様に、ASDFでは3つの使用スコープを設定することができます。
- カレントシェルで使用
- カレントディレクトリで使用
- このコンピューター内のすべての場所で使用
それぞれのコマンドを以下に示します。コマンドは直感的で覚えやすい。
asdf shell java [version_name]
asdf local java [version_name]
asdf global java [version_name]
5.1. 現在のシェルでJavaバージョンを設定する
現在のシェルでJavaを有効にしてチェックしてみよう。java --version
と入力して、希望のバージョンになっているか確認してみよう。
結果は
ターミナルを終了した後、もう一度実行すると、前に行った設定が初期化されます。
5.2. 特定のディレクトリでJavaバージョンを設定する
異なるプロジェクトで異なるバージョンのJavaを使用する場合、ディレクトリに特定のバージョンを設定するのが最も便利である。 なぜなら、そのディレクトリに入れておけば、コンピューターが自動的にそのバージョンを検出して実行するからである。その方法を簡単に説明しよう。
単純にjavaファイルの入ったフォルダを2つ作った。 ひとつはopenjdkに、もうひとつはzuluディストリビューションに設定した。 それぞれのフォルダに入ってjavaのバージョンをプリントアウトしてみると、以下のように異なるバージョンに設定されていることがわかる。
別のディレクトリに移動すると、そこにはJavaのバージョンが設定されていないことがわかる。
5.3. マシン間でJavaバージョンを設定する
最後に、すべてのコンピューターで使用するJavaバージョンを設定・変更する手順を説明します。
上記のように、インストールされている任意のバージョンに変更することができる。また、グローバルに設定されているので、ターミナルを再起動しても、コンピュータを再起動しても、設定されたままになる。
6. IntelliJでの使用方法
asdfによってインストールされたJavaのバージョンは、IntelliJを含むほとんどのIDEで自動的に検出される。そのため、環境設定ウィンドウで簡単に適切なバージョンに変更できる。
7. まとめ
ASDFを使ってJavaの複数のバージョンを管理する方法を見てきました。 Javaの代替になると主張する言語はたくさんありますが、サーバー、Android、ビッグデータなど、あらゆる業界において、Javaは商用、オープンソースプロジェクトの両方で最も人気のある言語の1つです。
Javaは、他の言語よりも多くのディストリビューションとバージョンを持つ言語であり、一部の開発者にとっては大変なことかもしれない。 しかし、開発者がサービスに最適なランタイムを選択するのに役立つ言語でもある。 利用可能なオプションを検討し、ASDFの助けを借りてテストをしてみてください。
