All Articles

Eclipse Memory Analyzer をシングルバイナリで起動する際に version 1.8.0_261 of the jvm is not suitable のエラーが出る問題の解決方法

Java VM のダンプファイル(.hprof)の解析に便利な Eclipse Memory Analyzer を導入する際にversion 1.8.0_261 of the jvm is not suitableのエラーがでる問題の解決方法についてまとめます。

まず、以下のリンク先から Eclipse Memory Analyzer のスタンドアロンバイナリをダウンロードします。

参考:Eclipse Memory Analyzer Open Source Project | The Eclipse Foundation

続いて、依存関係を満たすバージョンの Java をダウンロードします。 今回は、以下のダウンロード元から Java 17 を取得しました。

参考:Java Downloads | Oracle

ダウンロードしたインストーラを実行したところ、ファイルはC:\Program Files\Java\jdk-17\に展開されました。

次に、ダウンロードした Eclipse Memory Analyzer を展開し、MemoryAnalyzer.iniに以下の行を追加します。

-vm
C:\Program Files\Java\jdk-17\bin\javaw.exe

これで、Eclipse Memory Analyzer が使用する Java のバージョンを Java 17 に指定することができ、version 1.8.0_261 of the jvm is not suitableのエラーを回避できます。

修正後のMemoryAnalyzer.iniは以下のようになりました。

# MemoryAnalyzer.ini
-startup
plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.700.v20221108-1024
-vm
C:\Program Files\Java\jdk-17\bin\javaw.exe
-vmargs
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
-Xmx1024m

これで、 MemoryAnalyzer.exe を起動できるようになりました。