【eclipse】Failed to load the JNI shared library
今日もお仕事頑張ろうと、eclipseを開いたらエラーが出ました。
Failed to load the JNI shared library "C:\Program Files\Java\jre1.8.0_181\bin\server\jvm.dll
エラーが表示され、eclipseは起動することなく終了しました。
DLLが存在しません的なエラーですね。
調べてみると、同じエラーが発生している方は多いようです。
解決策もすぐに出てきますね。
http://blog.livedoor.jp/taro0622/archives/51829438.html
自分のJavaのバージョンに合わせて、eclipse.iniを修正しました。
-vm C:\Program Files\Java\jre1.8.0_181\bin
起動するJava VMの指定をしているようです。
これでOKとeclipseを起動してみると、同じエラーが発生しました。
もう少し調べてみると、このエラーが出ている方は、主に64bit環境で32bitのJavaを使ったりしてエラーになっていたりします。
また、Javaのバージョンアップに伴って起きている方も多いようです。
最新のJavaの再インストールをすることで直るという解決方法も見かけました。
そんなわけで、私もJavaの再インストールをしてみると、あっさりと解決しました。
結局何が原因だったのかと調べてみると、環境変数が追加されていることに気が付きました。
C:\ProgramData\Oracle\Java\javapath; [/code:] パスを確認してみると、そこにはJava.exeが配置されていました。 配置されたJavaのバージョンをコマンドで確認すると、64bit版でした。 しかし、eclipse.iniに設定したJavaのバージョンも同じもののはずです。 そちらは失敗し、インストール時に追加されたパスはエラーとならない。 試しに32bit版のJavaをインストールし、eclipse.iniに設定してみます。 -vm C:\Program Files (x86)\Java\jre1.8.0_181\bin
環境変数のパスを削除し、eclipseを起動すると、正常に起動されました。
つまり、私のeclipseは32bit版だったということです。
なんてこったい。
結論として、エラーの原因としては、色んな方が言うようにJavaとeclipseのbitが合っていないことでした。
Javaのインストール時に追加されるパスにあったJavaは64bitだったはずですが、何が起きていたのでしょうね。
32bitと64bitが両方あるため、うまいことやってくれているのでしょうか。
そこに関しては分かりませんでした。
No comments.