web-dev-qa-db-ja.com

JNI共有ライブラリ(JDK)を読みませんでした

Eclipse を開こうとすると、ポップアップダイアログに次のように表示されます。

JNI共有ライブラリ "C:/JDK/bin/client/jvm.dll"の読み込みに失敗しました。

これに続いて、Eclipseの力は閉じます。

ここで私が言いたいことがいくつかあります。

  • そのパスに何か存在するかどうか確認しました。それは存在します。
  • 私のEclipseと Java SE Development Kit は両方とも64ビットです。私は自分のシステムをチェックしました、そしてそれは64ビットを扱うことができます。
  • 私はGoogleとStack Overflowでこの問題を探しました、そして私が見つけた唯一の答えはJDKとEclipseの32ビットバージョンをダウンロードすることでした。

32ビットバージョンをダウンロードすることは私が最後の手段としてしたいだけのものです。
この問題を解決するために何が提案されますか?

895
Mxyk

64ビットのトリオが必要です。

  • 64ビットOS
  • 64ビットJava
  • 64ビットEclipse
826
Peter Rader

OS、JDK、Eclipseのワーキングペア:


  • 32ビットOS - 32ビットJDK - 32ビットEclipse(32ビットのみ)
  • 64ビットOS - 32ビットJDK - 32ビットEclipse
  • 64ビットOS - 64ビットJDK - 64ビットEclipse(64ビットのみ)

いくつかのJDKとJREがインストールされています。

それぞれがPATH変数に独自のエントリを持ち、すべてが多かれ少なかれ機能していました。

PATH変数から判断すると、一部のインストールはまったく使用されていないため、まったく役に立ちません。もちろん、必要に応じてEclipse内から「非アクティブな」Javasを手動で参照することもできますが、それは行ったことがないので、実際には必要ありませんでした。 (少なくとも当時はそう思っていました…)

私は混乱を片付け、JDK + JRE 1.7 64ビットのみをインストールして、現在のすべてのJavaを削除しました。

その後Eclipseの「インストール」の1つがFailed to Load the JNI shared Libraryとそれがjvm.dllであると考えていたところで新しくインストールされたJDKへの相対パスで失敗しました。

失敗したEclipseは私のIDEの中で唯一の32個のバージョンで、それ以外は全部64ビットのセットアップでした。

よく言われるように、Eclipse.iniにVM引数を追加しても意味がありません(関連するJDK/JREが間違っているだけなので)。

私はまた、このEclipseが32ビット版か64ビット版かをチェックする方法を見つけることができませんでした(このEclipseの「インストール」が起動しないため、 タスクマネージャ で調べることができませんでした)。そして私が設定してからしばらく経っていたので、そのバージョンも思い出せませんでした。)

もっと新しいJDKともっと古い _ jre _ を使っているのであれば、トラブルに遭遇しているかもしれませんが、おそらくJava.lang.UnsupportedClassVersionErrorが表示されるでしょう、 _ iirc _

302
sjas

Eclipse.iniファイルに次の行が含まれていることを確認してください。

-vm
C:\path\to\64bit\Java\bin\javaw.exe

例えば私のEclipse.ini:

-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\bin\javaw.exe
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

OSとEclipseの両方を64ビットまたは両方の32ビットを同じに保ち、config Eclipse.ini を使用します。

Eclipse.iniファイルはEclipseフォルダーにあります。

256

私は同じ問題を抱えていた

私はそれから64ビットJVMをインストールすることによってそれを解決しました

http://www.Java.com/en/download/manual.jsp

58
Farm

このエラーは、EclipseのアーキテクチャがJavaランタイムのアーキテクチャと一致しないことを意味します。つまり、一方が32ビットの場合、もう一方は同じでなければならず、64ビットではありません。

最も信頼性の高い修正方法は、Eclipse.iniでJVMの場所を指定することです。

-vm
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe

重要: これらの2行はbefore -vmargsでなければなりません。引用符を使用しないでください。スペースを入れることができます。

38
Peter Tseng

他の選択肢は:

Eclipse.exeへのショートカットを作成します。ショートカットを開き、ターゲットを次のように変更します。

"C:\Program Files\Eclipse\eclipse.exe" -vm "c:\Program Files\Java\jdk1.7.0_04\bin\javaw.exe"

ご使用のインストールの場合、ロケーションが正しいEclipseインストール・ディレクトリーと正しいjavaw.exeインストール・ディレクトリーを指していることを確認してください。

(64/32ビット版のEclipseとJavaは、もちろん同じである必要があります。)

33
spannow

Sun JDKとJRockit、32ビットと64ビットなど、複数のバージョンのJavaがインストールされていますが、64ビットEclipse for Java EE(JUNO)を新規インストールすることでこの問題に遭遇しました。

_は_ ではありませんでした。

Peter Raderが提案した64ビットトリオ:

私は64ビットOS(Windows 7)上で64ビットEclipseを使用しています。

Sun JDK 7 64-bitがデフォルトのJavaバージョンであることを確認しました。コマンドライン(cmd.exe)から「Java -version」と入力すると、Sun JDK 7 64-bitが返されました...

Java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

これで問題は解決しませんでした。

_が_ を実行した内容

Jayesh Kavathiyaが推奨するようにEclipse.iniに-vmオプションを追加します。

Eclipse.iniに以下を追加しました。

-vm
C:/apps/Java/jdk7-64bit/bin/javaw.exe

注意:

私のマシンにあるJDKやJREのさまざまなバージョンをアンインストールする必要はありませんでした。

30
Sunny Sarkar

jvm.dllファイルが見つからない場合は、Eclipse.iniファイルにdllファイルのパスを指定します。

-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll

ここでは、パスと二重引用符内のスペースをすべて削除することが重要です。私は引用符とスペースを削除したときそれは私のために働いた。

誰かに役立つことを願っています。

18
Stalin Gino

私は同様の問題を抱えていました。次のようにして解決しました。

  • Eclipseを Program Files に移動します( Program Files(x86) には移動しません)。
  • 'path'環境変数から32ビットバージョンのJavaへのパスを削除します。

私は両方のバージョンのJavaをインストールしましたが、Eclipseは32ビット版を使い続けました。

11
misterfrb

もちろん、互換性のあるバージョンのJDKとEclipseが必要ですが、Eclipse.iniファイルに次の行を追加する必要もあります。

-vm
yourdrive\Java\bin

それらをあなたのEclipse.iniファイルの最初の2行にしてください。

10
Deepak Tyagi

多くの人がすでに暗示しているように、これは EclipseJava の両方にとって32ビット対64ビットの問題です。 32ビットと64ビットを混同することはできません。 EclipseはJava_HOMEを使用しないので、Eclipseを起動する前にPATHを変更して、適切なバージョンのJavaだけでなく32または64ビット(またはINIを変更する場合)も使用するようにする必要があります。 Jayathが述べたようにファイル)。

会社の共有からEclipseをインストールしている場合は、どのEclipseバージョンを解凍しているのかを確認し、適切なProgram Filesディレクトリに解凍してどちらがどれであるかを追跡します。 PATH((Windows)の[コントロールパネル] - > [システム]を使用するか、PATH=/path/to/32 or 64bit/Java/bin;%PATH%を設定します(システム変数やユーザー環境変数に設定したくない場合は、バッチファイルを作成することもできます))。プログラムファイル(x86)

よくわからない場合は、Eclipseを起動してください。エラーが発生した場合は、PATHを他の「ビット」バージョンのJavaに変更してから、やり直してください。その後、Eclipseディレクトリを適切なProgram Filesディレクトリに移動します。

8
Marc Towersap

あるいは、同じ「ビット」バージョンの _ jre _ とEclipseを入手してから、以下のターゲットで新しいショートカットを作成します(インストールされたJREとEclipseの場所/パスを置き換えます)。

"C:\studio\Eclipse.exe" -vm "C:\Program Files\Java\jre7\bin\server\jvm.dll" Eclipse.vm="C:\Program Files\Java\jre7\bin\server\jvm.dll" Java.home="C:\Program Files\Java\jre7" Java.runtime.version=1.7.0

これでうまくいくはずです。

7
Kevin Yap

他の多くのものと同じように、この問題を解決できます。 Eclipseと _ jdk _ が32ビット、または64ビット の両方である必要があります。 OSのアーキテクチャーは関係ありませんが、他のアーキテクチャーは同じタイプのアーキテクチャーのままです。

7
Ignacio

私の上の答えは私がとても誘惑したので、私はOS、 Eclipse 、および _ jvm _ trioを使ってすべての可能な組み合わせを試してみることにしました。とにかく、私の投稿を掘り下げて読んでいる人は誰でも、ホットスポットとして以下をチェックしてください(私はWindows 7ユーザーです)。

  1. Program Files Program File(x86) は2つの異なるフォルダです。 x86 は32ビットバージョンのプログラムを表し、前者は64ビット版.

  2. もしあなたが複数のバージョンの Java を異なったbitnessとreleaseバージョンでインストールしていて、それが非常に多くのオープンソース IDE 、マネージャ、管理コンソールで起こるのであれば、最良のオプションはVM引数はEclipse.iniファイルに直接あります。そうでなければ、Eclipseは頭がおかしくなって自分自身を探そうとするでしょうが、それは良くないことです。

6
sayannayas

これを解決する簡単な方法の1つは、インストール済みのJDKからjreフォルダーをEclipseのインストールフォルダーにコピーすることです。コピー元のJDKがEclipseインストールと同じアーキテクチャーであることを確認してください。

私は自分のマシン上でEclipseと Appcelerator Titanium Studio の両方を実行しているので、私は自分のマシンをそのように構成しなければならなかった。スタジオは32ビットのJavaを必要としますが、Eclipseは64ビットを必要とします。

6
Mike Starov

PATH環境変数を確認するだけです。 マイコンピュータ - > プロパティ - > アドバンストシステム 設定 - > 環境変数 - >(左上のウィンドウ「ユーザー名」) PATH変数を確認してください。存在しない場合は、次のように作成します - > C:\ Program Files(x86)\ Java\jre7\bin < -

私のEclipseを更新した後、私は同じ問題に直面しました。私は、パスが64ビットバージョンを尋ねるのを見つけました、しかし私はdifパスで32ビットを持っていました。役に立ったP.S .:私は64ビットOS、32ビットJRE、および32ビットEclipseを持っています。すべてうまくいきます:)

5
user1600401

はい、Eclipseと _ jdk _ のバージョンが両方とも64ビットであることを確認してください。すべてが正しくアンインストールされたJDKであることを確認し、 Program Files(x86) ではなく Program Files にインストールするようにしてください。少なくともそれで私の問題は解決しました。

5
Jeena

古い[JRE] [1]をすべてアンインストールしてから、最新のものをインストールする必要があります。私は

Jre 6 32 bitのインストールを改善しました。それは実際に動作します。

5
Marcin Erbel

Java 6からJava 7にアップグレードした後も同じ問題がありました。Java6(64ビット)を削除し、Java 7(64ビット)を再インストールした後、Eclipseは動作しました。 :)

4
Supun Sameera

ありがとうございました misterfrb 、Eclipseがこのエラーを出していることに気づきました。なぜなら、インストールしたばかりの Oracle 10g Developer Suite で、jvm.dllフォルダでC:\DevSuiteHome_1ファイルを探していたからです。開発者スイートと一緒にJDKを再インストールします。

Paths変数からDevSuiteHomeの行を削除し、64ビットのjvm.dllの修正場所を追加した後(これが必要かどうかは不明ですが、試してはいませんでした)、Eclipseは再び機能しました。

4
Unegma

64ビットJVMをサイトからダウンロードして手動でインストールし、システムパス変数を更新しました。これで問題は解決しました。

  1. デフォルトのJVMは私のシステムにインストールされていました "C:\ Program Files"
    (x86)\ Java\jre7 "
  2. 手動でインストールされたJVMは "C:\ Program Files\Java\jre7"にインストールされ、このパスをシステムパス変数に更新した後に動作しました。
4
Satya

64ビットOS、32ビット Eclipse 、そしてJDK 32と64の両方がインストールされています。64ビットのJDKをアンインストールしたところ、Eclipseは正常に動作しています。

4
PushkarHJoshi

特に、1つのシステムで32ビットと64ビットのEclipseを使いたい人のために、このエラーに対する別の解決策を提案したいと思います。

EclipseはjreサブディレクトリにJRE/JDKがあればそれを使って起動します。 (STSまたは他のEclipseベースのIDEもこの機能をサポートしています...)

解決策は、Windows Vistaまたはそれ以降のバージョンに存在するmklink.exeコマンドを使用してディレクトリジャンクションを作成することです( junction.exe Windows 2000/XP用の同様の機能を提供します)。
コマンドラインウィンドウを開き、以下のコマンドを実行します。

mklink/j "$ Eclipse-HOME/jre" "$ JDK_or_JRE_home"

もちろん、Eclipseが64ビットWindows用のものであれば、JDK/JREのアーキテクチャーは同じでなければなりません。

と仮定します。

  • Eclipse for windows x86_64 d:\ devTool\Eclipseにインストールされています
  • JDK for windows x64 C:¥Program Files¥Java¥jdk1.8.0 にインストールされています。

jreフォルダを作成するためのコマンドは次のようになります。

mklink/j "d:\ devTool\Eclipse\jre" "C:\ Program Files\Java\jdk1.8.0"

ところで、ディレクトリジャンクションを削除すると、 _は_ 以外のファイルを削除します。間違ったリンクを作成した場合は、ファイルエクスプローラまたはrmdirコマンドを使用して削除できます。

rmdir "d:\ devTool\Eclipse\jre"

3
Beck Yang

2行に-vmパラメーターとその値を追加することが重要です。AT Eclipse.iniの始めに

-vm C:¥Program Files¥Java¥jdk1.7.0_45¥bin¥javaw.exe

3
Rolf

Eclipseを管理者権限で起動していることを確認してください。

3
Here to Help

環境変数のJava_HOMEとPATHの正しいバージョンを変更しました。

2
Sreedhar GS

Eclipseのダウンロードページには、「Windows 32ビット」や「Windows 64ビット」ではなく、「JRE 32ビット」または「JRE 64ビット」と書いてください。

前述のように、必ずJDEと互換性のある正しいバージョンを使用してください。

2
A_rnO

32ビットバージョンの _ jdk _ を64ビットマシンにインストールできます。JDK 7ダウンロードを参照してください。

2

64ビットのトリオ全体を使用してもまだ動作しない場合(Intellij IdeaでAndroid Monitorを起動している間にこの問題に遭遇しました)、おそらくあなたのJavaが期待するものとは反対の誤ったjvm.dllが使用されます。次の手順に従ってください。

  1. JREディレクトリでjvm.dllを見つけます:C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. JDKディレクトリでjvm.dllを見つけます。c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. JREディレクトリからjvm.dllをJDKディレクトリにコピーし、JDKのjvm.dllを上書きします。

念のため、バックアップをとることを忘れないでください。 Javaに関連するものをインストールまたはアンインストールする必要はありません。

2
rootpd

同じことが私にも起こりました。私は64ビットのEclipseを持っていましたが、私のJDKは32ビットでした。だから私は64ビット版をインストールし、それは今大丈夫です。

2
felipe.zkn

理由はわかりませんが、jreをc:\ windowsディレクトリに、そしてwindows\system32ディレクトリ内のJava.exeおよびjavaw.exeにインストールしました。

私のEclipse.iniファイルに-vmフラグを追加した後でも、明らかにこれらのディレクトリが優先されていました。

ここからそれらを削除すると問題が解決しました。

2
Guy Lowe

そして _ pdt _ users - 回避 / Zendダウンロードページ - 64ビットのダウンロードはリンクされていません。

Elipseサイト自体を使用してください

上のリンクには古い3.6のEclipseが含まれていましたが、 Eclipseのバグ#317785 のために更新に失敗しました。

私の解決策は64ビットと一緒に32ビットのJavaをインストールすることでした - これは Zend インストーラが動作することを可能にしました。

それはPHP IDEを手に入れるために通過しなければならないJava/Eclipseの残余の量を憂慮しています。

2
cloakedninjas

私の場合は、コマンドプロンプトからJavaを起動しようとしましたが、このエラーが発生しました

エラー: "C:\ Windows\jre\lib\AMD64\jvm.cfg"を開けませんでした

これは "Java"がこの間違ったディレクトリから始まるPATHで検索されたことを意味します。フォルダC:\ Windows\jre \を削除すると問題が解決しました

1
Federico Giorgi

私はすべてのEclipseエラーを経験しましたが、これはそのうちの1つです。問題はEclipse 64ビット版です。 32ビット版をダウンロードして起動します。

0
sadegh saati

最も簡単な解決策はEclipse.iniに特定のJREを含めることです。

wiki.Eclipse.org/Eclipse.ini

これで、ほとんどすべてのEclipseバージョンを起動できます。

0
keesp

私は同じ問題を抱えていました。 64ビットOSでは、すべて64ビットであるべきです。 JavaとEclipse私はstackoverflowとyoutubeで全てのメソッドを試しました。私はこの簡単な方法を見つけるまで、彼らの誰も私のために働きませんでした。

私は64ビットのJavaフォームCnetのダウンロードをインストールし、問題は自動的に修正されました。あなたが新しい蜂であるならそれがグーグルするのがあまりにも簡単で、公式サイトではなく最初のCnet lintに行くのが原因で私はソースを述べました。

pS Android ADTバンドルがあり、そこからEclipseを開こうとしたときに同じエラーが発生する場合は、この方法で問題を解決することもできます。

0
Priyankara

このエラーは、Javaのバージョンが異なる32ビット版をダウンロードしたために発生しています。

0
vaquar khan

JDK 1.8._91(混在モード)をインストールすることも、これに対する解決策です。

0
HaryTD