以下のエラーメッセージが出た。
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
調べてみるとjavaのバージョンが異なると表示されることがあるらしいエラーなのでバージョンを調べる。
$ java --version
openjdk 17.0.2 2022-01-18 LTS
OpenJDK Runtime Environment Corretto-17.0.2.8.1 (build 17.0.2+8-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.2.8.1 (build 17.0.2+8-LTS, mixed mode, sharing)
Corretto8などを使っていたのだが、事故ってローカル環境の色々なバージョンを最新のものにしてしまっていた。自分の場合バージョンをCorretto8に切り替えないといけない。
まずは何がインストールされてるか確認。
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
17.0.2, x86_64: "Amazon Corretto 17" /Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home
1.8.0_322, x86_64: "Amazon Corretto 8" /Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home
1.8.0_292, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home
あった。
/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home
1.8.0_322, x86_64: "Amazon Corretto 8"
切り替える。自分の場合は "1.8"
で切り替えられた。
$ usr/libexec/java_home -v "1.8"
$ export JAVA_HOME=`/usr/libexec/java_home -v "1.8"`
$ PATH=$JAVA_HOME/bin:$PATH
バージョンを確認する。
$ java --version
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
一瞬びびったが、ここに書いてあるように、バージョンによってversionオプションが異なるらしい。
ハイフンを一個減らす。
$ java -version
openjdk version "1.8.0_322"
OpenJDK Runtime Environment Corretto-8.322.06.1 (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM Corretto-8.322.06.1 (build 25.322-b06, mixed mode)
この後最初のエラーも出なくなった。完。