Eclipse起動時にJNI共有ライブラリのロードに失敗しました。
Eclipseの最新版をダウンロードしたのですが、起動できません。
エラーメッセージが出ます。
どうすればいいの?
Windowsは64bit、JDKは32bit、Eclipseは64bitをダウンロードした。
Eclipseの最新版をダウンロードしたのですが、起動できません。
エラーメッセージが出ます。
どうすればいいの?
Windowsは64bit、JDKは32bit、Eclipseは64bitをダウンロードした。
これは、インストールされているJDKとEclipseのバージョンの間に32-bitと64-bitの不一致がある場合に発生します。
お使いのバージョンのEclipseが32ビットのJDKにアクセスしようとしています(C:\Program Files (x86)で示されています)が、Eclipseが64ビットのJDKを期待しているために失敗するか、32ビットのJDKがないために失敗します。
-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
-vm
C:/Program Files/Java/jdk1.6.0_32/jre/bin
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
eclipseとOSの両方を64ビットまたは32ビットで使用する
私は64ビットのEclipseと32ビットのJavaを持っていましたが、同じ問題がありました。64ビットJavaをインストールし、system pathを更新した後、問題はありません。
64ビットのEclipseと64ビットのJDK/JREをダウンロードした場合、64ビット用のjavaw.exeが利用可能かどうかを確認してください。
私の場合はC:\Program Files\Java\jre6\bin
私はEclipseをc:\eclipse
フォルダに展開しました。その中にeclipse.ini
ファイルがあります。そのファイルの内容を以下のように置き換えてください。
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vm
C:\Program Files\Java\jre6\bin\javaw.exe
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xmx700m
-XX:MaxPermSize=690M
-vmフラグと値の間に改行を残します。私の場合はうまくいきました。
Windows 7 では unix と同様にシンボリックリンクを使うことができます。
cmd
(管理者として実行) で、以下のように実行してください。mklink /d jdk jdk-versionnr-etc
パスを更新する必要はありません。
これは古い質問ですが、@Steffen Opel氏の回答に関連する情報を追加しようと思いました。
64ビットのWindows OSには、32ビットのJDKと64ビットのJDKの任意のバージョンをインストールすることが可能です。また、同じコンピュータに32ビットのEclipseと64ビットのEclipseをインストールすることも可能です。しかし、これらのプラットフォーム関連のEclipse(OPの場合は64ビットのEclipse)バージョンのいずれかを実行するためには、マシンにはJDKにマッチする「Environment Variables」が設定されている必要があります。これは eclipse.ini ファイルを変更することなく行うことができます(行うべきです)。
環境変数
フルパスを与えずにjavaを実行するには、java.exeのファイルの場所を環境変数PATH
に追加する必要があります。また、他のサードパーティ製ユーティリティも同様にJAVA_HOME
の環境変数が必要です。
通常、Java開発者は常にJDKがインストールされている必要があります(JREはJDKに含まれています)。そして、PATH
はJDKのインストールフォルダ(OPsの場合はC:\Program FilesJava\jdk1.6.0_40_40bin)の下の「bin」フォルダに、`JAVAHOME`はJDKのインストールフォルダ(OPsの場合はC:\Program FilesJava\jdk1.6.0_40_)に設定されています。
ここでは、32bitのJDKしか持っていないのに、64bitのEclipseを使おうとしている。そのため、64ビットのJDKをインストールする必要があります。そして、JAVA_HOME
PATH
“Environment Variables"をそのインストール先に合わせて変更してください。
以下はより完全な手順です:
64-bit JDKx.x.xをダウンロードしてインストールします。 x_xx
それから、Windowsエクスプローラを開き、コンピュータアイコンを右クリックして、
を選択します。
JAVA_HOME
を選択し、”Edit“をクリックして、既存の文字列の先頭にPATH
;を追加するか、既存の文字列の末尾に%JAVA_HOME%\bin
を追加します。既存の文字列を上書きしないようにして、OK ->OK ->OKをクリックして完了です。これでEclipseがエラーなしで開くようになります。
Note:
32ビットのEclipseを使用する場合、デフォルトのJDKパスはC:_ **Program Files (x86)** _\Javajdkx.x.x.x_xx
Windows10で%JAVA_HOME%\bin
環境変数を変更すると、下の図のように追加のウィンドウが出てきます。
eclipse が 64 ビットの場合は、Path で Java を C:\Program Files\Javajre7 に更新する
or else
eclipse で参照されている Java の場所を確認し、内容 C:\Program Files\Javajre7 を eclipse の jre の場所にコピーします。
リファレンス - http://www.buggybread.com/2013/01/failed-to-load-jni-shared-library.html
Steffen Opel氏の回答を詳しく説明すると、eclipse.iniファイルで指定されたJVMと、Windowsのパス環境変数のエントリの結果として検出され起動されたJVMの間にミスマッチが発生します。そのため、この問題を解決するには、両者が同じJVMを参照していることを確認してください。
この問題を修正するには、以下の手順に従ってください。
1. Eclipseの設定を修正して、希望するバージョンのJVMで起動するようにします* eclipse.iniを開き、以下の行を使用したいjavaのバージョンに変更します 例:
-Dosgi.requiredJavaVersion=1.5
2. Eclipse Can Access the JVM It Requires
Goto Control Panel –> Edit System Environment Variables –> Path.
a) javaへのエントリがここに存在することを確認する
b) このエントリが、@pathエントリ内の他のどのjavaパスよりも高い位置に(またはそれよりも早い位置に)あることを確認する。
これで問題が解決することを願っています。
私はJDKとEclipseの両方の64ビット版を持っていましたが、同じ問題に直面していました。eclipse.iniにJDKのパスがないことがわかりました。
そこで、eclipse.iniファイルに以下の行を追加しました。
-vm
C:\Program Files\Java\jdk1.7.0_45\jre\bin <this might be different on your machine>
これで問題は解決しました。:-)
私も同じ問題に直面しましたが、解決しました。
1.Eclipseが32ビットか64ビットかを確認し、32ビットの場合はJAVA_HOMEを32ビット版のjdkに設定する 2. もし、Eclipseが64ビットならば、JAVAの64ビット版をJAVAの64ビット版に設定してください。
1.利用可能なjdk7.1をアンインストール(64bitでした) 2. jdk7.1 32ビットをダウンロードしてインストール。jvm.dllは、以下のパスにあります。"C:\Program Files (x86)W\Javajdk1.7.0_75jre\binclient"
うまくいくといいね。