はじめに
案件を複数こなしていると、複数のJavaのバージョンを使用することはよくあるかと思います。
今回はバージョンアップがなかなかうまくいかなかったので、バージョンアップ全体の流れとその際に詰まった箇所、対処法を整理し記事にしたいと思います。
一般的なバージョンアップ
公式サイトからダウンロードしてインストール
OracleJDKが必要な場合などは、公式サイトからダウンロード&手動インストールします。この場合、パスや環境変数の設定は自分で行う必要があるそうです。
コマンドラインからインストール (Ubuntu系Linuxの場合)
こちらの方がよくつかわれるケースだと思います。
#パッケージ情報の更新
sudo apt update
#OpenJDKのインストール
sudo apt install openjdk-21-jdk
下記コマンドでバージョンが変わってるか確認します
#Javaのバージョン確認
java -version
※OpenJDKのインストールできなかった場合
下記コンソールでインストールできるJDKの名称がでてくるので、コピーして使用すると確実です。
#インストールできるJDK確認
apt search openjdk
上記の方法でバージョンが上がってなかった場合
1.インストールしたバージョンが選択されてい
現状使用されているJavaの確認します。
which java
インストールしたバージョンが選択されていない場合は下記コマンドで変更します。
#javaのバージョンの選択
sudo update-alternatives --config java
*が現在使用しているJavaのバージョン。使用したいバージョンの番号を押すと変更できます。
リストにが表示されない、またはインストールしたJavaバージョンが出てこない場合は下記コマンドを実行します。
#入れたいjavaのバージョンなかった時追加する
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-21-openjdk-amd64/bin/java 1
変更後は念のためwhich javaで変わっているかの確認をしてください。
2.環境変数の確認
echo $JAVA_HOME
JAVA_HOMEの設定がインストールしたJavaのパスでない場合は.bashrc または .zshrc を開きます。
source ~/.bashrc # もしくは ~/.zshrc
JAVA_HOMEのパスを下記のように修正します。
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 # jvm/ 以降はインストールしたJavaのバージョン
export PATH=$JAVA_HOME/bin:$PATH
基本的にはこれでうまくいくそうです。上記コマンドを実行しても何も出てこない場合は下記を検討してください。
上記で環境変数が変わらなかった場合
私はここでつまりしたが、下記で対処できました。
nano ~/.bashrc # もしくは ~/.zshrc
画像のように.bashrcファイルの中身がコンソールに表示されるので、JAVA_HOMEとPATHが記載されている箇所を下記のように張り替えます。JAVA_HOMEに記載されているパスはインストールするものに置き換えてください。下のほうに記載があると思います。
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
編集後は、Ctrl + X を押して、Y キーで保存します。
保存するファイル名が表示されるので、Enter を押してそのまま保存します。
(.bashrcファイルは/home/ユーザー名の中にあります。テキストエディタで内容を見ることができます。)
3.IDE(VSCode)の設定
VS Codeの場合、拡張機能「Java Extension Pack」が読み込んでいるJavaパスが異なる場合があります。
・コマンドパレット(Ctrl + Shift + P)を開く
・「Java: Configure Java Runtime」 を検索して実行
・Javaのバージョンがインストールしたバージョンとあっているかを確認
今回の原因
過去にJavaで特殊なファイルをインストールしていたためか、環境設定が変更されなかったようです。私の場合、sapmachine-jdk-17.0.9が選択された状態から一向にバージョンが変わりませんでした。上記の方法を試したら、特別ファイルをアンインストールせずともバージョン変更することができました。
まとめ
Javaのバージョンアップがうまくいかなかったので、詰まった点と解決方法を連携しました。
一般的なバージョンの変え方、環境変数のJavaのバージョンの変え方、VSCode上でのJavaのバージョンの変え方を紹介していきました。上記の方法が役に立てば幸いです。