Eclipseエラー:「Java仮想マシンの作成に失敗しました」


211

Windows 7でEclipse Heliosを起動すると、次のエラーメッセージが表示されます。

Java仮想マシンの作成に失敗しました

ここに画像の説明を入力してください

私のeclipse.iniは次のようになります。

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
-vm
P:\Programs\jdk1.6\bin
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms120m
-Xmn100m
-Xmx1024m

私のJAVA_HOMEは私の知る限り正しく設定されています。どうすれば修正できますか?

これまでに試したこと:

  1. javaw.exeへの完全パスを追加する -vm P:\Programs\jdk1.6\bin\\bin\javaw.exe
  2. -vmオプションを完全に削除する
  3. 削除--launcher.XXMaxPermSizeすると問題は修正されますが、permgenエラーが発生します
  4. の値512を削除--launcher.XXMaxPermSizeすると問題が修正されますが、permgenエラーが発生します
  5. 削減-Xmxすること512mにも問題が修正されます。

「-Xmx」と「--launcher.XXMaxPermSize」に「1024m」を使用できないのはなぜですか?


18
これは、jvmがコンピュータに必要なメモリ領域(1024 + 512)を割り当てられないことを意味します。
ケーン

確認のために、私はこれを正しく理解しています。JVMは、(XXMaxPermSize + Xmx)で指定されたメモリ量を割り当てます
Maro

2
vmの起動時に最大ヒープサイズ(-Xmxで指定)でメモリがすぐに作成されるわけではありません。ただし、vmの起動時に、実行時に最大ヒープサイズを作成する機能があることを確認します。そうでない場合、VMを作成できません。
ケーン、

なぜなのかはわかりませんが、私のマシンでは、Dragon NaturallySpeakingが実行されている場合にのみ、Eclipseでこの問題が発生します。RonQiのソリューションは私にとってうまくいきました。
rob

@rob:それはおそらくDragonが大量のメモリを使用しているためです。この問題の原因は、JVMが十分なメモリを割り当てることができないためと思われます。
Stijn de Witt

回答:


80

-vm P:\Programs\jdk1.6\bin行を削除してみてください。


また、一般的な推奨事項:-Dosgi.requiredJavaVersion=1.6ではなく、を設定し1.5ます。


52
eclipse.iniで、-Xmxを1024から512mに変更すると、問題が解決しました。システムには1GBのRAMが搭載されていました。
デクスター

3
@dexter、ありがとうございます。Xmxを減らすことで機能しました
danisupr4

macos eclipse-2020の場合、eclipse.iniの "--launcher.appendVmargs"の下に: "-vm" "/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java"を追加します。
クラークユー

283

1.eclipse.ini eclipseフォルダーからファイルを開きます。下の画像を参照してください。

eclipse.ini

2. オープンeclipse.iniNotepadや他のtext-editorアプリケーションは、行の検索-Xmx256m(または-Xmx1024m)を。次に、デフォルト値256m(または1024m)をに変更します512m。また、Javaがインストールされている正確なバージョン(1.6または1.7など)を指定する必要もあります。

最大サイズ

このような:

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

または

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

または

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

次に、それは私にとってはうまくいきます。


8
これは、問題がメモリ不足で、eclipse.iniの値を下げた場合にのみ機能します。それらを上げると、この問題が発生する可能性が高くなります。
Stijn de Witt

2
おかげで、この値を増やしてうまくいきました。JDKを更新したことが原因だと思います。
Pervez Alam

1
これは実際に私にとっても機能しました-NB:ewclipseが機能しなくなった-私は-Xmx1024mに向き直りXmx512m、機能しました。どうやら十分なメモリがありませんでした(?)
Mr_and_Mrs_D 2014年

私の場合、値を1024から512に変更することで機能しませんでしたが、以前の値、つまり1024に再度変更すると機能しました。
TaRan LaYal 2015

1
すごい.. Eclipse Marsの場合、-Xmx1024mを-Xmx512mに変更して、うまくいきました。
Umesh Patil

111

追加してみてください

-vm
D:\Java\jdk1.6.0_29\bin\javaw.exe

参考:サンブログを参照してください

Eclipse WikiのようにJava 7で問題が発生する可能性がある他のユーザー-eclipse.ini vm_value(Windowsの例)

これはすべてのシステムで機能するわけではありません。日食の開始中に「Javaは開始されたが終了コード= 1を返しました」エラーが発生した場合は、-vm引数を変更してjvm.dllを指すようにします

例えば

-vm
C:\Program Files\Java\jre7\bin\client\jvm.dll

また注意してください

-vmargs以降はすべてJVMに直接渡されるため、-vmオプションは-vmargsオプションの前に指定する必要があります。


これはうまく機能しますが、特に単一のEclipseインストールを共有している場合は、JREパスが安定している可能性が高いため、-vm C:\ Program Files(x86)\ Java \ jre6 \ bin \ javaw.exeを使用することをお勧めします複数のマシン/ VM。
rob

それは私にとってはうまく
いき

5
+1注文部分がありませんでした。ネット上の他のすべての場所で-vm引数について話しますが、-vmargsの前に発生する必要があると言うことを怠っています
demongolem 2013

EclipseでAndroid SDKをインストールしているときに同じ問題に直面し、これで修正されました。よろしくお願いします!
コーディング科学者、2013

記録のために、私はWindows 7 Home PremiumとServer JVM 1.8.0_05を使用しています。これは2番目の方法です。私のために機能したdllをポイントすることにより、最初の方法はしませんでした。
Ironluca

26

私はこれがかなり古いことを知っていますが、同じ問題が発生しました。問題は、Eclipseが取得できない大量のメモリに割り当ててEclipseを割り当てていることでした。オープンたeclipse.iniだから、とに割り当てられているメモリの量下げる-Xmx XXMaxPermSize私は鉱山を変更する-Xmx512mと、XXMaxPermSize256m


これは32ビットマシンですか?32ビットウィンドウで使用できるメモリの量には制限があると思います
Maro

@マロはい、そうでした。64ビットへのアップグレードを検討しています。
Popeye

1
私のために働いて、-Xmxパラメータで768mを512mに置き換えました。
タルタク2013

8 GBのメモリを搭載した64ビットマシンを使用していますが、-XX:PermSize = 256mおよび-XX:MaxPermSize = 512mと組み合わせて-Xmx = 768mを使用していると、負荷が大きすぎることがわかりました。これは32ビットJavaなので、4GBしか使用できませんが、実際には最大値ははるかに低いようです。私はこれが開始するために1024mと最大1280mを必要とすると予想します...
Stijn de Witt

問題を回避するために、数か月前に1024に変更したことを確信しています。この質問に対する本当の答えはAndroid Studioに移行することです。古いアプリの1つを移行しておらず、何かをする必要があったため、Eclipseに戻っただけです。
Ryan Heitner 2013年

18
  1. eclipse.iniEclipseフォルダーからファイルを開きます。

  2. いくつかのアドオン構成があります。行を見つけ–launcher.XXMaxPermSize。ここで、デフォルト値の256mを削除して保存します。


18

eclipse.iniを削除しました。この問題が発生し、iniファイルを削除すると解決しました。


12
  1. Eclipse.exeでフォルダーを開き、eclipse.iniファイルを見つけます
  2. -vmargsをjavaw.exeの現在の実際のパスに置き換えます:* -vm“ c:\ Program Files \ Java \ jdk1.7.0_07 \ bin \ javaw.exe” *

    -startup
    plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
    -product
    com.android.ide.eclipse.adt.package.product
    --launcher.XXMaxPermSize
    256M
    -showsplash
    com.android.ide.eclipse.adt.package.product
    --launcher.XXMaxPermSize
    256m
    --launcher.defaultAction
    openFile
    **-vm “c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe”** 
    -Dosgi.requiredJavaVersion=1.6
    -Xms40m
    -Xmx768m
    -Declipse.buildId=v21.1.0-569685
    

9

この問題は、「-launcher.XXMaxPermSize」の行の下にある「256m」の値を削除することでも解決できます。


私のために働いた。そこにその値があっても、Windowsのログオフとログインの後でうまく機能していました。
amar

9

これに対する非常に簡単な解決策を見つけました。eclipse.iniファイルを削除するだけですが、最初にバックアップします。私はこれと同じ問題を何度も経験し、最後にこれを削除しましたが、問題はもうありません。

また、読み込み時間も増加しました。これで私のEclipseは以前よりも速く起動します。


eclipse.iniを削除した後、Eclipseを起動しようとすると、このエラーが発生します=> eclipse実行ランチャーは、対応する共有ライブラリを見つけられませんでした
NIKHIL CHAURASIA

驚くばかり!私はiniファイルを編集するために多くのステップを試みました。しかし、この答えは素晴らしいです。できます。乾杯!
エッジ

7

STS.conf、ファイルは、/作成を回避するために、2つの重要なことをチェックする必要があり、JVMの問題を割り当てます

1. jdkの正確なインストール場所を指定します。

--vm C:\Program Files\Java\jdk1.7.0_01\jre\bin\javaw.exe

2. Javaがインストールされている正確なバージョンを指定する必要があります。

--Dosgi.requiredJavaVersion=1.7

3.メモリサイズを減らします。

--XX:MaxPermSize=256m

7
  1. Eclipseインストールフォルダーにあるecplise.iniファイルを開きます。

  2. 行-vmargsを検索して、-vm D:\ jdk1.6.0_23 \ bin \ javaw.exeに置き換えるか、行-vmargsを削除して保存します。今問題が解決されています


2
@Rajasに感謝
Bernauer

5

上記のメモリ削減の解決策を試した後、Eclipseは動作を開始しますが、特別にのワークスペースからプラグインをロードするたびにハングしorg.eclipse.debug.coreます。

私はここで解決策を見つけました、EclipseはSplash Screenハングし、それを共有したいと思っています。うまくいけば、それは他の人にも役立つでしょう。


この1時間で試した他のものとは異なり、これはうまくいきました。
ジャスティンT.

デッドリンク、別の可能性がありますか?
Adam Parkin

4

eclipse.iniに複数のエントリがなく、vmargsの前にvmエントリが使用されていることを確認します。

-vm
  D:/java/jdk1.8.0_65/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m

3

これを試してください:

-startup plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar 
--launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222 
-showsplash org.eclipse.platform 
--launcher.XXMaxPermSize 256m 
--launcher.defaultAction openFile 
-vm F:\Program Files\jdk1.6\bin\javaw.exe 
-vmargs 
-Xms512m 
-Xmx512m 
-XX:+UseParallelGC 
-XX:PermSize=256M 
-XX:MaxPermSize=512M

3

クイックフィックス:

変化-Xmx1024m-Xmx512mたeclipse.ini(同じレベルにあるファイルeclipse.exeが存在します)。そしてそれは魅力のように働きます。


3

この問題を解決する簡単な方法は、eclipse.iniファイルを削除するか名前を変更することです。まずお試しください。この方法で問題が解決しない場合は、以下の解決策を試してください。

それを修正する他の方法:

解決策1

ファイルの宛先を変更する文字列をeclipse.iniファイルに追加しjavaw.exeます。主なことは、この文字列は文字列「-vmargs」の上に配置する必要があるということです。

-vm
C:\Program Files\Java\jdk1.6.0_22\bin\javaw.exe 

解決策2

256m–launcher.XXMaxPermSizeなどのの値を削除します。

解決策3

XmsとXmxの値を削除または減らします。

-Xms384m 
-Xmx384m

3

これはうまくいくかもしれません:

eclipse.iniファイルを開いて、行末の行の下に貼り付けます。

-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m

3

以下に示すようにeclipse.iniに-vmを追加すると、うまくいきました。-vmargs削除しないで追加する

-vm
C:\apps\Java\jdk1.8.0_92\bin\javaw.exe
-vmargs

この問題を引き起こしていたjdkのアップデートがありました。


2

これは私のために働きました:

Windows 7マシン上の他のメモリを大量に消費するアプリケーションをすべて閉じました。そして、私はEclipseを開こうとしましたが、出来上がりました。


2

時々、それはあなたのeclipse.iniではありません。クラッシュするのはJDKです。コマンドプロンプトで次のコマンドを書くと確認できます。

c:\> java -version

このコマンドで次のエラーが表示された場合:

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

次に、最初にJDKをアンインストールして再インストールします。

Eclipseが再び動作します;)今日と同じ問題が発生したので、上記はイタチうちはによって提案されました。


2

私のEclipseプロトンが開始できなかったときに問題に直面しました。「Java仮想マシンの作成に失敗しました」というエラーが発生する

eclipse.iniファイルに以下を追加

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


1

パラメータサイズを-256まで減らします

私のeclipse.iniファイルを参照してください

    -startup
   plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
   --launcher.library
  plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
  -product
   org.eclipse.epp.package.jee.product
   --launcher.defaultAction
   openFile
   --launcher.XXMaxPermSize
   256M
  -showsplash
   org.eclipse.platform
   --launcher.XXMaxPermSize
   256M
  --launcher.defaultAction
  openFile
  -vmargs
  -Dosgi.requiredJavaVersion=1.6
  -Xms40m
  -Xmx512m

1

問題の適切な解決策は、iniファイル内のJavaフォルダーのjvm.dllファイルを指す-vm行を追加することです。

-vm
C:\Program Files\Java\jre1.8.0_202\bin\server\jvm.dll
/*there is no dquote for path, and path points to right java version folder mentioned in ini file*/

上記の修正が効果的でない場合は、他に何もしないでください。このスレッドのアドバイスの大部分は誤解されています。これらのハッキングの一部は一時的にまたは特定のマシン構成で機能する可能性がありますが、eclipse.iniの内容は簡単でも恣意的でもありません。信頼できるリファレンスについては、この[wikiページ]を参照してください:https : //wiki.eclipse.org/Eclipse.ini#Specifying_the_JVMでファイルの内容を説明しています。ヒープサイズなどの詳細については、そのページの下部にある[関連項目]リンクにも注意してください。eclipse.iniは絶対に削除しないでください。-vmまたはXmxオプションを削除することもお勧めしません。もしそうなら、あなたはトラブルを求めています。

ここにあなたの問題に関連するwikiページからの参照があります:

Reference_1

Reference_2


1
簡単ですが重要なパイント:eclipse.iniのオプションの-vmに配置する必要があり -vmargsます。
woodz

0

私にとっては、Path環境変数のJDK binパスを変更することで解決しました。jre / bin / client / jvm.dllがあるJDK binパスをJDKホームの下に置きます。


0

問題を解決する手順:-

  1. eclipseフォルダーからeclipse.iniファイルを開きます。

  2. いくつかのアドオン構成があります。行–launcher.XXMaxPermSizeを見つけます。これは、このファイルの最後の行になります。デフォルト値の256mを削除/削除して保存します。



0

私は同じ問題に直面しており、解決策を見つけました。MaxPermSizeの割り当てに問題があります。あなたのマシンの空き容量よりも多くを割り当てようとすると、私の問題でこのエラーが発生します。したがって、MaxPermSizeを小さくしてみてください。

問題の整理に役立つと思います。


0

これらの解決策はすべて失敗しました。これは、Eclipseを6か月間使用した後で突然起こりました。どういうわけか私のJDKが破損したようです。

私の最終的な解決策は、新しいJDKをダウンロードして、それに応じて私のJAVA_HOMEを更新することでした(私の場合はjdk1.6.0_37からjdk1.6.0_43へ)。


0

@マロ私にとっては、それは非常に簡単に働きました!

エラーメッセージのアラートを受け取った後、コマンドプロンプトから「eclipse c .exe」を実行しました。これでEclipseが開きました。次に、「eclipse.exe」を試してみましたが、今ではうまく機能しています。

残念ながら、これには技術的な理由はありませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.