Kesalahan Eclipse: 'Gagal membuat Java Virtual Machine'

211

Saya mendapatkan pesan kesalahan ini ketika saya memulai Eclipse Helios di Windows 7:

Gagal membuat Java Virtual Machine

Masukkan deskripsi gambar di sini

Eclipse.ini saya terlihat sebagai berikut:

-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 saya diatur dengan benar sejauh yang saya tahu. Bagaimana saya bisa memperbaikinya?

Hal-hal yang saya coba sejauh ini:

  1. Menambahkan path lengkap ke javaw.exe -vm P:\Programs\jdk1.6\bin\\bin\javaw.exe
  2. Menghapus -vmopsi sama sekali
  3. Menghapus --launcher.XXMaxPermSizememperbaiki masalah, tetapi itu menyebabkan kesalahan permgen
  4. Menghapus nilai 512dari --launcher.XXMaxPermSizeperbaikan masalah ini, tapi hal itu menyebabkan kesalahan permgen
  5. Mengurangi -Xmxuntuk 512mjuga memperbaiki masalah ini.

Mengapa saya tidak bisa menggunakan '1024m' untuk '-Xmx' dan '--launcher.XXMaxPermSize'?

Maro
sumber
18
Ini berarti jvm tidak dapat mengalokasikan ruang memori yang diperlukan (1024 + 512) di komputer Anda.
Kane
Jadi hanya untuk mengkonfirmasi saya mengerti ini dengan benar. JVM akan mengalokasikan jumlah memori yang ditentukan oleh (XXMaxPermSize + Xmx)
Maro
2
Itu tidak langsung membuat memori dengan ukuran heap maksimum (ditentukan oleh -Xmx) saat memulai vm. Tapi itu akan memastikan ia memiliki kemampuan untuk membuat ukuran heap maksimum dalam runtime saat memulai vm. Jika tidak, vm tidak dapat dibuat.
Kane
Saya tidak tahu mengapa, tetapi di komputer saya Eclipse hanya memiliki masalah ini ketika Dragon NaturallySpeaking sedang berjalan. Solusi RonQi berhasil untuk saya.
merampok
@rob: Itu mungkin karena Dragon menggunakan banyak memori. Penyebab masalah ini tampaknya JVM tidak dapat mengalokasikan cukup memori.
Stijn de Witt

Jawaban:

80

Coba hapus -vm P:\Programs\jdk1.6\bingarisnya.


Juga, rekomendasi umum: atur -Dosgi.requiredJavaVersion=1.6, bukan 1.5.

Matt Ball
sumber
52
di eclipse.ini, mengubah pengurangan -Xmx ke 512m dari 1024 memperbaiki masalah bagi saya. Sistem itu memiliki RAM 1GB.
Dexter
3
@dexter, terima kasih, itu berhasil untuk saya, dengan mengurangi Xmx
danisupr4
untuk macos eclipse-2020, tambahkan: "- vm" "/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java" di bawah "--launcher.appendVmargs" di eclipse.ini.
clark yu
283

1. Buka eclipse.inifile dari folder gerhana Anda, lihat gambar di bawah ini.

eclipse.ini

2. Buka eclipse.inidi Notepadatau lainnya text-editoraplikasi, Cari baris -Xmx256m(atau-Xmx1024m ). Sekarang ubah nilai default 256m(atau 1024m) menjadi 512m. Anda juga perlu memberikan versi java yang terinstal secara tepat (1.6 atau 1.7 atau lainnya).

ukuran maks

Seperti ini:

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

ATAU

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

ATAU

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

Maka itu bekerja dengan baik untuk saya.

Akhil Jain
sumber
8
Ini hanya akan berfungsi jika masalahnya tidak cukup memori dan jika Anda menurunkan nilai di eclipse.ini. Meningkatkannya hanya akan membuat masalah ini lebih mungkin terjadi.
Stijn de Witt
2
Terima kasih yar, saya meningkatkan nilai ini dan berfungsi dengan baik, saya pikir itu terjadi karena saya memperbarui JDK.
Pervez Alam
1
Ini benar-benar bekerja untuk saya juga - NB: ewclipse baru saja berhenti bekerja - saya telah -Xmx1024m, berbalik Xmx512mdan bekerja. Rupanya tidak ada cukup memori di sana (?)
Mr_and_Mrs_D
Dalam Kasus Saya itu tidak berhasil mengubah nilai menjadi 512 dari 1024 tetapi ketika saya kembali mengubahnya ke nilai sebelumnya yaitu 1024 itu berhasil.
TaRan LaYal
1
Wow .. Untuk Eclipse Mars, saya mengubah -Xmx1024m menjadi -Xmx512m dan berhasil!
Umesh Patil
111

Coba tambahkan

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

FYI: Rujuk sunblog

Untuk orang lain yang mungkin memiliki masalah dengan Java 7, sesuai Eclipse Wiki - eclipse.ini vm_value (contoh windows)

Ini mungkin tidak berfungsi pada semua sistem. Jika Anda menjumpai kesalahan "Java telah dimulai tetapi mengembalikan kode keluar = 1" saat memulai gerhana, ubah argumen -vm untuk mengarah ke jvm.dll

misalnya

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

Perhatikan juga itu

Opsi -vm harus muncul sebelum opsi -vmargs, karena semuanya setelah -vmargs diteruskan langsung ke JVM

RonQi
sumber
Ini berfungsi dengan baik, tetapi saya lebih suka menggunakan -vm C: \ Program Files (x86) \ Java \ jre6 \ bin \ javaw.exe karena jalur JRE lebih cenderung tetap stabil, terutama jika Anda berbagi instalasi Eclipse tunggal di seluruh beberapa mesin / VM.
merampok
itu berhasil bagi saya untuk tetapi saat memuat gerhana semakin digantung di org.eclipse.debug.core
Rahul Razdan
5
+1 Saya melewatkan bagian pemesanan. Semua tempat lain di internet mereka berbicara tentang argumen -vm tetapi mereka lalai untuk mengatakan itu harus terjadi sebelum -vmargs
demongolem
Saya menghadapi masalah yang sama saat memasang Android SDK dengan eclipse dan ini memperbaikinya. Terima kasih!
codingscientist
Sebagai catatan, saya menggunakan Windows 7 Home Premium dan Server JVM 1.8.0_05, metode kedua, dengan menunjuk ke dll yang berfungsi untuk saya, metode pertama tidak.
Ironluca
26

Saya tahu ini sudah cukup tua sekarang tetapi saya baru saja mengalami masalah yang sama dan masalahnya adalah saya mengalokasikan banyak memori untuk gerhana yang tidak bisa didapatkan. Jadi buka eclipse.ini dan turunkan jumlah memori yang sedang dialokasikan untuk -Xmx XXMaxPermSizesaya ubah menjadi -Xmx512mdanXXMaxPermSize256m

Popeye
sumber
Apakah ini pada mesin 32bit? Karena saya percaya ada batasan pada berapa banyak memori yang dapat Anda gunakan pada windows 32bit
Maro
@Aro Ya itu. Melihat mendapatkan upgrade ke 64bit.
Popeye
1
Bekerja untuk saya, diganti 768m dengan 512m pada parameter -Xmx.
tartak
Saya menggunakan mesin 64-bit dengan memori 8GB tetapi masih menggunakan -Xmx = 768m dikombinasikan dengan -XX: PermSize = 256m dan -XX: MaxPermSize = 512m terbukti terlalu banyak. Ini adalah Java 32 bit sehingga 'hanya' dapat menggunakan 4GB, tetapi maks tampaknya jauh lebih rendah dalam praktiknya. Saya berharap ini membutuhkan 1024m untuk memulai dan maks 1280m ...
Stijn de Witt
Terima kasih, saya yakin saya mengubahnya ke 1024 beberapa bulan yang lalu untuk menyelesaikan masalah. Jawaban sebenarnya untuk pertanyaan ini adalah pindah ke Android Studio, itu jauh lebih baik. Saya hanya kembali ke Eclipse karena saya belum memigrasi salah satu aplikasi lama saya dan perlu melakukan sesuatu.
Ryan Heitner
18
  1. Buka eclipse.inifile dari folder gerhana Anda.

  2. Ini memiliki beberapa tambahan pada konfigurasi. Temukan garis –launcher.XXMaxPermSize. Sekarang hapus nilai default 256m dan simpan.

Furqi
sumber
18

Saya menghapus eclipse.ini . Saya mengalami masalah ini dan menghapus file ini menyelesaikannya.

Monnster
sumber
12
  1. Buka folder dengan Eclipse.exe dan temukan file eclipse.ini
  2. Ganti -vmargs dengan jalur javaw.exe Anda saat ini: * -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
    
Garhy
sumber
9

Anda juga dapat mengatasi masalah ini dengan menghapus nilai "256m" di bawah baris "-launcher.XXMaxPermSize".

Yasir Ali
sumber
Bekerja untukku. Meskipun bahkan dengan nilai itu di sana, dulu berfungsi dengan baik setelah Windows Log Off dan kemudian Log In.
amar
9

Saya menemukan solusi yang sangat mudah untuk ini. Hapus sajaeclipse.ini file, tetapi backup terlebih dahulu. Saya memiliki masalah yang sama berkali-kali dan akhirnya saya menghapus ini dan saya tidak lagi memiliki masalah.

Ini juga meningkatkan waktu pemuatan. Sekarang Eclipse saya mulai lebih cepat dari sebelumnya.

pengguna3739970
sumber
Setelah menghapus eclipse.ini , saya mendapatkan kesalahan ini, ketika mencoba memulai Eclipse => peluncur eksekusi gerhana tidak dapat menemukan pustaka bersama rekannya
NIKHIL CHAURASIA
luar biasa! Saya mencoba banyak langkah untuk mengedit file ini. tapi jawaban ini bagus. berhasil. Bersulang!
ujung
7

Dalam STS.conffile Anda perlu memeriksa dua hal penting untuk menghindari membuat / mengalokasikan masalah jvm

1. Berikan lokasi pemasangan jdk yang tepat:

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

2. Anda harus memberikan versi terinstal java yang tepat:

--Dosgi.requiredJavaVersion=1.7

3. Coba kurangi ukuran memori:

--XX:MaxPermSize=256m
rajachinnappan
sumber
7
  1. Buka file ecplise.ini yang terletak di folder instalasi eclipse.

  2. Temukan & Ganti baris -vmargs dengan -vm D: \ jdk1.6.0_23 \ bin \ javaw.exe ATAU cukup hapus baris -vmargs dan simpan. Sekarang masalahnya sedang diselesaikan

Rajas
sumber
2
Terima kasih @Rajas hanya menghapus baris -vmargs dan menyimpannya bekerja untuk saya
Bernauer
5

Setelah mencoba solusi di atas untuk mengurangi memori, Eclipse mulai bekerja tetapi hang setiap kali saat memuat plugin dari ruang kerja khusus di org.eclipse.debug.core.

Saya menemukan solusinya di sini, Eclipse hang di Splash Screen , dan ingin membagikannya. Semoga ini bisa membantu orang lain juga.

Rahul Razdan
sumber
tidak seperti apa pun yang saya coba dalam satu jam terakhir, INI bekerja, terima kasih!
Justin T.
Tautan mati, ada kemungkinan Anda punya yang lain?
Adam Parkin
4

Pastikan eclipse.ini tidak memiliki banyak entri dan entri vm bekas sebelum vmarg:

-vm
  D:/java/jdk1.8.0_65/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
[email protected]/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
Sunil shakya
sumber
3

Coba yang ini:

-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
Brahma Reddy
sumber
3

Perbaikan cepat:

Ubah -Xmx1024mke -Xmx512mdalam eclipse.ini (file yang terletak di tingkat yang sama di mana eclipse.exeada). Dan itu akan bekerja seperti pesona.

Sumoanand
sumber
3

Cara sederhana untuk memperbaiki masalah ini adalah dengan menghapus atau mengganti nama file eclipse.ini Anda . Coba dulu. Jika metode ini tidak menyelesaikan masalah Anda, coba solusi yang dijelaskan di bawah ini.

Cara lain untuk memperbaikinya:

Solusi 1

Tambahkan string ke file eclipse.ini yang mengubah tujuan javaw.exefile. Yang utama adalah bahwa string ini harus diletakkan di atas string "-vmargs"!

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

Solusi 2

Hapus nilai –launcher.XXMaxPermSize, seperti 256m .

Solusi 3

Hapus atau kurangi nilai Xms dan Xmx:

-Xms384m 
-Xmx384m
Dimon
sumber
3

Ini mungkin berhasil:

Buka eclipse.inifile dan rekatkan di bawah garis di akhir baris.

-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
UdayKiran Pulipati
sumber
3

Setelah menambahkan -vm di eclipse.ini seperti yang ditunjukkan di bawah ini bekerja untuk saya. Tambahkan sebelum -vmargstidak menghapusnya

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

Ada pembaruan jdk yang menyebabkan masalah ini.

Dinesh M
sumber
2

Ini bekerja untuk saya:

Saya menutup semua aplikasi intensif memori lainnya pada mesin Windows 7 saya. Dan saya mencoba membuka Eclipse, dan, voila, berhasil.

amalBit
sumber
2

Beberapa waktu itu bukan eclipse.ini Anda ; itu JDK Anda yang jatuh. Anda dapat memeriksanya dengan menulis perintah berikut dalam prompt perintah:

c:\> java -version

Jika perintah ini menunjukkan kesalahan berikut:

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

Kemudian pertama-tama hapus instalasi JDK dan instal ulang.

Eclipse akan beraksi lagi;) Karena hari ini saya punya masalah yang sama, dan hal di atas disarankan oleh Itachi Uchiha .

TheLittleNaruto
sumber
2

Menghadapi masalah ketika proton Eclipse saya tidak dapat memulai. Mendapat kesalahan "Gagal membuat mesin virtual Java"

Tambahkan di bawah ini ke file eclipse.ini

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

Menambahkan ini memperbaiki masalah bagi saya:

-vm

D:\Java\jdk1.6.0_29\bin\javaw.exe
ahmedmzl
sumber
1

Kurangi ukuran param hingga -256

Lihat file eclipse.ini saya

    -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
Anda telah
sumber
1

Solusi yang tepat untuk masalah Anda adalah dengan menambahkan -vm menunjuk ke file jvm.dll dari folder Java Anda di ini fie.

-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*/

Jika perbaikan di atas tidak berhasil, maka jangan mencoba yang lain. Sebagian besar saran di utas ini salah arah. Beberapa peretasan ini mungkin bekerja sementara atau pada konfigurasi mesin tertentu, tetapi isi eclipse.ini tidak sepele atau sewenang-wenang. Untuk referensi otoritatif, lihat [halaman wiki] ini: https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM yang menjelaskan isi file. Perhatikan juga tautan Lihat Juga di bagian bawah halaman itu untuk detail lebih lanjut tentang hal-hal seperti ukuran tumpukan, dll. JANGAN hapus eclipse.ini, EVER. Juga tidak disarankan untuk menghapus opsi -vm atau Xmx. Jika ya, Anda meminta masalah.

Berikut adalah referensi dari halaman wiki yang berkaitan dengan masalah Anda:

Referensi_1

Referensi_2

Vishwesh Mangalore
sumber
1
pint sederhana namun penting untuk disebutkan: -vmharus ditempatkan sebelum -vmargs opsi di eclipse.ini.
woodz
0

Bagi saya itu diselesaikan dengan mengubah path bin JDK dalam variabel lingkungan Path. Letakkan path bin JDK yang memiliki jre / bin / client / jvm.dll di bawah home JDK.

Srihari Karanth
sumber
0

LANGKAH-LANGKAH UNTUK MEMECAHKAN MASALAH: -

  1. Buka file eclipse.ini dari folder eclipse Anda.

  2. Ini memiliki beberapa tambahan pada konfigurasi. Temukan baris –launcher.XXMaxPermSize.Ini akan menjadi baris terakhir dalam file ini. Sekarang hapus / hapus nilai default 256m dan simpan.

Nikhil Kumar
sumber
0
-vm D:\Java\jdk1.6.0_29\bin\javaw.exe
Seorang pria
sumber
0

Saya menghadapi masalah yang sama, dan saya menemukan solusinya. Ada masalah dalam alokasi MaxPermSize. Jika Anda mencoba mengalokasikan lebih dari ruang kosong mesin Anda maka itu memberikan kesalahan ini dalam masalah saya. Jadi cobalah untuk mengurangi MaxPermSize.

Saya pikir ini akan membantu Anda untuk menyelesaikan masalah Anda.

Kanani Mohit
sumber
0

Semua solusi ini mengecewakan saya. Ini terjadi pada saya tiba-tiba setelah menggunakan Eclipse selama enam bulan. Sepertinya entah bagaimana JDK saya rusak.

Solusi terakhir saya adalah mengunduh JDK yang lebih baru dan memperbarui JAVA_HOME saya sesuai, dari jdk1.6.0_37 ke jdk1.6.0_43 dalam kasus saya.

Ryan Heitner
sumber
0

@Maro Bagi saya itu bekerja sangat sederhana!

Setelah menerima peringatan pesan kesalahan, saya mengeksekusi 'eclipse c .exe' dari prompt perintah. Ini membuka Eclipse. Kemudian saya mencoba dengan 'eclipse.exe' dan sekarang berfungsi dengan baik dan baik.

Sayangnya, itu tidak memberikan alasan teknis untuk ini.

Satyendra
sumber