Errore Eclipse: "Impossibile creare la macchina virtuale Java"


211

Ricevo questo messaggio di errore quando avvio Eclipse Helios su Windows 7:

Impossibile creare la Java Virtual Machine

Inserisci qui la descrizione dell'immagine

Il mio eclipse.ini ha il seguente aspetto:

-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

Il mio JAVA_HOME è impostato correttamente per quanto ne so. Come posso risolvere questo problema?

Cose che ho provato finora:

  1. Aggiunta del percorso completo a javaw.exe -vm P:\Programs\jdk1.6\bin\\bin\javaw.exe
  2. Rimozione -vmtotale dell'opzione
  3. La rimozione --launcher.XXMaxPermSizerisolve il problema, ma causa errori di permgen
  4. La rimozione del valore 512di --launcher.XXMaxPermSizerisolve il problema, ma causa errori Permgen
  5. Ridurre -Xmxa 512mrisolve anche il problema.

Perché non posso usare '1024m' per '-Xmx' e '--launcher.XXMaxPermSize'?


18
Significa che jvm non può allocare lo spazio di memoria richiesto (1024 + 512) nel tuo computer.
Kane,

Quindi, solo per confermare, lo capisco correttamente. La JVM assegnerà la quantità di memoria specificata da (XXMaxPermSize + Xmx)
Maro,

2
Non crea immediatamente la memoria con la dimensione heap massima (specificata da -Xmx) all'avvio di vm. Ma assicurerebbe di avere la capacità di creare la dimensione massima dell'heap in fase di esecuzione all'avvio di vm. In caso contrario, la VM non può essere creata.
Kane,

Non ho idea del perché, ma sulla mia macchina Eclipse ha questo problema solo quando Dragon NaturallySpeaking è in esecuzione. La soluzione di RonQi ha funzionato per me.
ruba il

@rob: probabilmente è perché Dragon usa molta memoria. La causa di questo problema sembra essere che la JVM non è in grado di allocare memoria sufficiente.
Stijn de Witt,

Risposte:


80

Prova a rimuovere le -vm P:\Programs\jdk1.6\binlinee.


Inoltre, una raccomandazione generale: impostare -Dosgi.requiredJavaVersion=1.6, non 1.5.


52
in eclipse.ini, cambiando riducendo -Xmx a 512m da 1024 risolto il problema per me. Il sistema aveva 1 GB di RAM.
Dexter,

3
@dexter, grazie, ha funzionato per me, diminuendo Xmx
danisupr4

per macos eclipse-2020, aggiungi: "- vm" "/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java" sotto "--launcher.appendVmargs" in eclipse.ini.
Clark,

283

1. Apri il eclipse.inifile dalla tua cartella eclipse, vedi l'immagine sotto.

eclipse.ini

2. Apri eclipse.iniin Notepado qualsiasi altra text-editorapplicazione, Trova la linea -Xmx256m(o -Xmx1024m). Ora cambia il valore predefinito 256m(o 1024m) in 512m. È inoltre necessario fornire l'esatta versione installata di Java (1.6 o 1.7 o altro).

dimensione massima

Come questo:

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

O

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

O

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

Quindi funziona bene per me.


8
Funzionerà solo se il problema non era memoria sufficiente e se si abbassano i valori in eclipse.ini. Sollevarli renderà più probabile questo problema.
Stijn de Witt,

2
Grazie, ho aumentato questo valore e ha funzionato bene, penso che sia successo perché ho aggiornato JDK.
Pervez Alam,

1
Questo ha funzionato anche per me - NB: ewclipse ha smesso di funzionare - avevo -Xmx1024m, mi sono rivolto Xmx512me ho lavorato. Apparentemente non c'era abbastanza memoria (?)
Mr_and_Mrs_D

Nel mio caso non ha funzionato cambiando il valore in 512 da 1024 ma quando l'ho cambiato di nuovo al valore precedente, ovvero 1024, ha funzionato.
TaRan LaYal,

1
Wow .. Per Eclipse Mars, ho cambiato -Xmx1024m in -Xmx512m e ha funzionato!
Umesh Patil,

111

Prova ad aggiungere

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

Cordiali saluti: consultare crema solare

Per altri che potrebbero avere problemi con Java 7, come da Eclipse Wiki - eclipse.ini vm_value (esempio di Windows)

Questo potrebbe non funzionare su tutti i sistemi. Se si verifica l'errore "Java è stato avviato ma restituito codice di uscita = 1" durante l'avvio dell'eclissi, modificare l'argomento -vm in modo che punti a jvm.dll

per esempio

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

Si noti anche che

L'opzione -vm deve essere presente prima dell'opzione -vmargs, poiché tutto ciò che segue -vmargs viene passato direttamente alla JVM


Funziona benissimo, ma preferisco usare -vm C: \ Programmi (x86) \ Java \ jre6 \ bin \ javaw.exe poiché è più probabile che il percorso JRE rimanga stabile, soprattutto se condividi una singola installazione di Eclipse su più macchine / VM.
ruba il

ha funzionato per me ma durante il caricamento di eclipse viene impiccato su org.eclipse.debug.core
Rahul Razdan,

5
+1 Mi mancava la parte dell'ordine. Tutti gli altri posti sulla rete parlano dell'argomento -vm ma trascurano di dire che deve accadere prima di -vmargs
demongolem

Stavo affrontando lo stesso problema durante l'installazione di Android SDK con eclipse e questo ha risolto il problema. Grazie !
scienziato di programmazione

Per la cronaca, sto usando Windows 7 Home Premium e Server JVM 1.8.0_05, il secondo metodo, indicando la dll ha funzionato per me, il primo metodo no.
Ironluca,

26

So che ora è piuttosto vecchio, ma ho appena avuto lo stesso problema e il problema era che stavo allocando molta memoria per eclissare che non riuscivo a trovare. Quindi apri eclipse.ini e riduci la quantità di memoria che viene allocata a -Xmx XXMaxPermSizeHo cambiato il mio in -Xmx512meXXMaxPermSize256m


È su una macchina a 32 bit? Perché credo che ci sia un limite alla quantità di memoria che è possibile utilizzare su Windows a 32 bit
Maro,

@Maro Sì, lo era. In cerca di aggiornamento a 64 bit.
Popeye,

1
Ha funzionato per me, ha sostituito 768m con 512m sul parametro -Xmx.
Tartak,

Sono su una macchina a 64 bit con 8 GB di memoria ma sto ancora usando -Xmx = 768m in combinazione con -XX: PermSize = 256m e -XX: MaxPermSize = 512m si è rivelato troppo. È un Java a 32 bit, quindi può "solo" usare 4 GB, ma il massimo sembra essere molto più basso in pratica. Mi aspetto che questo abbia bisogno di 1024 m per iniziare e 1280 m max ...
Stijn de Witt,

Grazie, sono sicuro di averlo cambiato in 1024 qualche mese fa per aggirare il problema. La vera risposta a questa domanda è passare ad Android Studio, è molto più bello. Sono tornato su Eclipse solo perché non avevo migrato una delle mie vecchie app e avevo bisogno di fare qualcosa.
Ryan Heitner,

18
  1. Apri il eclipse.inifile dalla tua cartella eclipse.

  2. Ha alcuni componenti aggiuntivi sulla configurazione. Trova la linea –launcher.XXMaxPermSize. Ora rimuovi il valore predefinito 256m e salvalo.


18

Ho rimosso eclipse.ini . Ho riscontrato questo problema e risolto il problema con la rimozione del file ini .


12
  1. Apri la cartella con Eclipse.exe e trova il file eclipse.ini
  2. Sostituisci -vmargs con il tuo attuale percorso reale di javaw.exe: * -vm “c: \ Programmi \ 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

Puoi anche risolvere questo problema rimuovendo il valore "256m" sotto la riga "-launcher.XXMaxPermSize”.


Ha funzionato per me. Anche se con quel valore lì, funzionava bene dopo la disconnessione da Windows e quindi il login.
amar

9

Ho trovato una soluzione molto semplice per questo. Elimina il eclipse.inifile, ma esegui prima il backup. Ho avuto questo stesso problema molte volte e alla fine l'ho eliminato e non ho più il problema.

Ha inoltre aumentato i tempi di caricamento. Ora il mio Eclipse si avvia più velocemente di prima.


Dopo aver eliminato eclipse.ini , visualizzo questo errore, quando ho tentato di avviare Eclipse => il launcher di esecuzione di eclipse non è stato in grado di individuare la libreria condivisa
associata

eccezionale! ho provato tanti passaggi per modificare il file ini. ma questa risposta è fantastica. Funziona. Saluti!
bordo

7

Nel STS.conffile è necessario controllare due cose importanti per evitare di creare / allocare il problema jvm

1. Fornisci l'esatta posizione di installazione di jdk:

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

2. Devi fornire l'esatta versione installata di Java:

--Dosgi.requiredJavaVersion=1.7

3. Prova a ridurre la dimensione della memoria:

--XX:MaxPermSize=256m

7
  1. Apri il file ecplise.ini che si trova nella cartella di installazione di eclipse.

  2. Trova e sostituisci la riga -vmargs con -vm D: \ jdk1.6.0_23 \ bin \ javaw.exe O semplicemente rimuovi la riga -vmargs e salvala. Ora il problema si sta risolvendo


2
Grazie @Rajas basta rimuovere la linea -vmargs e salvarla ha funzionato per me
Bernauer

5

Dopo aver provato la soluzione sopra descritta per ridurre la memoria, Eclipse inizia a funzionare ma si blocca ogni volta durante il caricamento dei plug-in dallo spazio di lavoro appositamente org.eclipse.debug.core.

Ho trovato la soluzione qui, Eclipse si blocca su Splash Screen e voglio condividerla. Spero che possa aiutare anche gli altri.


a differenza di qualsiasi altra cosa che ho provato nell'ultima ora, QUESTO ha funzionato, grazie!
Justin T.,

Collegamento morto, hai qualche possibilità di averne un altro?
Adam Parkin,

4

Assicurati che eclipse.ini non abbia più voci e abbia utilizzato la voce vm prima di vmargs:

-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

Prova questo:

-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

Soluzione rapida:

Passare -Xmx1024ma -Xmx512min eclipse.ini (file situato allo stesso livello in cui eclipse.exeè presente). E funzionerà come un fascino.


3

Il modo semplice per risolvere questo problema è semplicemente eliminare o rinominare il file eclipse.ini . Provalo prima. Se questo metodo non risolve il problema, provare le soluzioni descritte di seguito.

Altri modi per risolverlo:

Soluzione 1

Aggiungi una stringa nel file eclipse.ini che modifica una destinazione del javaw.exefile. La cosa principale è che questa stringa deve essere posizionata sopra la stringa "-vmargs"!

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

Soluzione 2

Rimuovi il valore di –launcher.XXMaxPermSize, come 256m .

Soluzione 3

Rimuovere o ridurre i valori di Xms e Xmx:

-Xms384m 
-Xmx384m

3

Questo potrebbe funzionare:

Apri il eclipse.inifile e incolla le righe sottostanti alla fine delle righe.

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

3

Dopo aver aggiunto -vm in eclipse.ini come mostrato di seguito ha funzionato per me. Aggiungilo prima di -vmargsnon rimuoverlo

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

C'è stato un aggiornamento jdk che stava causando questo problema.


2

Questo ha funzionato per me:

Ho chiuso tutte le altre applicazioni ad alta intensità di memoria sul mio computer con Windows 7. E ho provato ad aprire Eclipse e, voilà, ha funzionato.


2

Qualche volta non è il tuo eclipse.ini ; è il tuo JDK che si è schiantato. Puoi verificarlo scrivendo il seguente comando in un prompt dei comandi:

c:\> java -version

Se questo comando mostra il seguente errore:

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

Quindi prima disinstallare JDK e reinstallarlo.

Eclipse sarà di nuovo in azione;) Come oggi ho lo stesso problema e quanto sopra è suggerito da Itachi Uchiha .


2

Di fronte al problema quando il mio protone Eclipse non poteva avviarsi. Errore "Impossibile creare la macchina virtuale Java"

Aggiunto di seguito al file eclipse.ini

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

1

Aggiungendo questo risolto il problema per me:

-vm

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

1

Ridurre le dimensioni dei parametri fino a -256

Vedi il mio file 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

La soluzione corretta al tuo problema è aggiungere la riga -vm che punta al file jvm.dll della cartella Java 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*/

Se la correzione di cui sopra non è fruttuosa, non tentare nient'altro. La maggior parte dei consigli in questa discussione è sbagliata. Alcuni di questi hack potrebbero funzionare temporaneamente o su determinate configurazioni di macchine, ma i contenuti di eclipse.ini non sono banali né arbitrari. Per il riferimento autorevole, consultare questa [pagina wiki]: https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM che spiega il contenuto del file. Nota anche i collegamenti Vedi anche in fondo a quella pagina per maggiori dettagli su cose come le dimensioni dell'heap, ecc. NON cancellare mai eclipse.ini, MAI. È anche sconsigliabile rimuovere le opzioni -vm o Xmx. Se lo fai, stai chiedendo problemi.

Ecco i riferimenti dalla pagina wiki relativi al tuo problema:

Reference_1

Reference_2


1
una pinta semplice ma importante da menzionare: -vmdeve essere posizionata prima -vmargs dell'opzione in eclipse.ini.
Woodz,

0

Per me è stato risolto modificando il percorso del bin JDK nella variabile d'ambiente Path. Inserisci il percorso bin JDK che ha jre / bin / client / jvm.dll nella home page di JDK.


0

PASSAGGI PER RISOLVERE IL PROBLEMA: -

  1. Apri il file eclipse.ini dalla tua cartella eclipse.

  2. Ha alcuni componenti aggiuntivi sulla configurazione. Trova la riga –launcher.XXMaxPermSize. Sarà l'ultima riga in questo file. Ora rimuovi / elimina il valore predefinito 256m e salvalo.



0

Stavo affrontando lo stesso problema e ho trovato la soluzione. Esistono problemi nell'assegnazione di MaxPermSize. Se si tenta di allocare più dello spazio libero della macchina, viene visualizzato questo errore nel mio problema. Quindi prova a ridurre MaxPermSize.

Penso che ti aiuterà a risolvere il problema.


0

Tutte queste soluzioni mi hanno deluso. Questo mi è successo all'improvviso dopo aver usato Eclipse per sei mesi. Sembra che il mio JDK sia stato corrotto.

La mia eventuale soluzione era quella di scaricare un JDK più recente e aggiornare il mio JAVA_HOME di conseguenza, nel mio caso da jdk1.6.0_37 a jdk1.6.0_43.


0

@Maro Per me ha funzionato molto semplicemente!

Dopo aver ricevuto l'avviso del messaggio di errore, ho eseguito 'eclipse c .exe' da un prompt dei comandi. Questo ha aperto Eclipse. Poi di nuovo ho provato con 'eclipse.exe' e ora funziona bene e bene.

Sfortunatamente, non ha fornito alcun motivo tecnico per questo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.