1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

複数バージョンのCorretto OpenJDKを使い分ける

Posted at

概要

複数バージョンのCorrettoを1つの環境で使い分ける必要性に迫られた時に、どの様に管理すれば良いか備忘録を残しておこうと思います。

事の起こり

筆者は以下の過去記事で投稿した様に、OracleのOpenJDKではなく、AWSがリリースしているCorretto 24のOpenJDKを利用しています。しかし、Java 8にのみ対応しているアプリケーションを動かす必要性に迫られたため、Corretto 8もインストールしました。この場合、1つの環境に複数のバージョンのJavaがインストールされていることになります。メインで利用するバージョンはJava 24で必要な時に、Java 8を利用したい。この様な問題を解決する方法が本記事の内容です。

  • 過去記事

$ java --version
openjdk 24.0.1 2025-04-15
OpenJDK Runtime Environment Corretto-24.0.1.9.1 (build 24.0.1+9-FR)
OpenJDK 64-Bit Server VM Corretto-24.0.1.9.1 (build 24.0.1+9-FR, mixed mode, sharing)
  • Javaアプリ
    以下の書籍付属のSQL反復学習ソフトウェア「SQUAT」はJava 8のみ対応です。よって、Java 24で動かそうとすると起動しません。

複数バージョンを同居させる

筆者の環境ではHomebrewでCorrettoをインストールしていますが、複数のバージョンがインストールされています。メインで利用するバージョンはCorretto 24(無印)です。

$ brew search corretto
==> Formulae
cortexso

==> Casks
corretto ✔  corretto@11  corretto@21  corretto@8 ✔

Java 8を利用したい場合

Corretto OpenJDK本体がインストールされているディレクトリは以下です。

ls /Library/Java/JavaVirtualMachines/
amazon-corretto-24.jdk amazon-corretto-8.jdk  openjdk-17.jdk         openjdk.jdk

バージョンを表示させるオプションがバージョン間で微妙に異なります。

$ /Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home/bin/java -version
openjdk version "1.8.0_462"
OpenJDK Runtime Environment Corretto-8.462.08.1 (build 1.8.0_462-b08)
OpenJDK 64-Bit Server VM Corretto-8.462.08.1 (build 25.462-b08, mixed mode)

よって、Java 8が必要となるアプリケーションを利用する時は、上記ディレクトリのjavaバイナリを指定してアプリケーションを実行すると正常に動作します。SQATの起動スクリプトを改造して上記ディレクトリのjavaバイナリで実行するように修正して起動すると正常に動作しました。

まとめ

複数バージョンのCorretto OpenJDKを1つの環境で利用する方法について備忘録メモをまとめました。最近Javaを利用する機会が減ってしまったので少々懐かしく思いながら今回の検証を行いました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?