Error de eclipse: 'Error al crear la máquina virtual Java'

211

Recibo este mensaje de error cuando inicio Eclipse Helios en Windows 7:

Error al crear la máquina virtual Java

Ingrese la descripción de la imagen aquí

Mi eclipse.ini tiene el siguiente aspecto:

-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

Mi JAVA_HOME está configurado correctamente hasta donde puedo decir. ¿Cómo puedo arreglar esto?

Cosas que he probado hasta ahora:

  1. Agregar la ruta completa a javaw.exe -vm P:\Programs\jdk1.6\bin\\bin\javaw.exe
  2. Eliminar la -vmopción por completo
  3. La eliminación --launcher.XXMaxPermSizesoluciona el problema, pero causa errores permanentes
  4. Eliminar el valor 512de --launcher.XXMaxPermSizecorrige el problema, pero causa errores permanentes
  5. Reducir -Xmxa 512mtambién corrige el problema.

¿Por qué no puedo usar '1024m' para '-Xmx' y '--launcher.XXMaxPermSize'?

Maro
fuente
18
Significa que jvm no puede asignar el espacio de memoria requerido (1024 + 512) en su computadora.
Kane
Solo para confirmar que entiendo esto correctamente. La JVM asignará la cantidad de memoria especificada por (XXMaxPermSize + Xmx)
Maro
2
No crea inmediatamente la memoria con el tamaño máximo de almacenamiento dinámico (especificado por -Xmx) al iniciar vm. Pero se aseguraría de que tiene la capacidad de crear el tamaño máximo de almacenamiento dinámico en tiempo de ejecución al iniciar vm. Si no, no se puede crear la vm.
Kane
No tengo idea de por qué, pero en mi máquina Eclipse solo tiene este problema cuando Dragon NaturallySpeaking se está ejecutando. La solución de RonQi funcionó para mí.
robar
@rob: Probablemente sea porque Dragon usa mucha memoria. La causa de este problema parece ser que la JVM no puede asignar suficiente memoria.
Stijn de Witt

Respuestas:

80

Intenta eliminar las -vm P:\Programs\jdk1.6\binlíneas.


Además, una recomendación general: conjunto -Dosgi.requiredJavaVersion=1.6, no 1.5.

Matt Ball
fuente
52
en eclipse.ini, cambiar la reducción de -Xmx a 512m desde 1024 solucionó el problema para mí. El sistema tenía 1 GB de RAM.
Dexter
3
@dexter, gracias, funcionó para mí, disminuyendo Xmx
danisupr4
para macos eclipse-2020, agregue: "- vm" "/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java" debajo de "--launcher.appendVmargs" en eclipse.ini.
Clark Yu
283

1. Abra el eclipse.iniarchivo desde su carpeta de eclipse, vea la imagen a continuación.

eclipse.ini

2. Abra eclipse.inien Notepado cualquier otra text-editoraplicación, busque la línea -Xmx256m(o -Xmx1024m). Ahora cambie el valor predeterminado 256m(o 1024m) a 512m. También debe proporcionar la versión exacta instalada de Java (1.6 o 1.7 u otra).

tamaño máximo

Me gusta esto:

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

O

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

O

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

Entonces funciona bien para mí.

Akhil Jain
fuente
8
Esto solo funcionará si el problema no era suficiente memoria y si baja los valores en eclipse.ini. Elevarlos solo hará que este problema sea más probable.
Stijn de Witt
2
Gracias yar, aumenté este valor y funcionó bien, creo que sucedió porque actualicé JDK.
Pervez Alam
1
En realidad, esto también funcionó para mí. Nota: ewclipse simplemente dejó de funcionar. Tenía -Xmx1024m, recurrí Xmx512my trabajé. Aparentemente no había suficiente memoria (?)
Mr_and_Mrs_D
En mi caso, no funcionó al cambiar el valor a 512 de 1024, pero cuando lo cambié nuevamente al valor anterior, es decir 1024, funcionó.
TaRan LaYal
1
Wow ... Para Eclipse Mars, cambié -Xmx1024m a -Xmx512m y funcionó.
Umesh Patil
111

Intenta agregar

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

FYI: Referir sunblog

Para otros que puedan tener problemas con Java 7, según Eclipse Wiki: eclipse.ini vm_value (ejemplo de Windows)

Esto podría no funcionar en todos los sistemas. Si encuentra el error "Java se inició pero devolvió el código de salida = 1" al iniciar el eclipse, modifique el argumento -vm para que apunte a jvm.dll

p.ej

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

También tenga en cuenta que

La opción -vm debe aparecer antes que la opción -vmargs, ya que todo después de -vmargs se pasa directamente a la JVM

RonQi
fuente
Esto funciona muy bien, pero prefiero usar -vm C: \ Archivos de programa (x86) \ Java \ jre6 \ bin \ javaw.exe ya que es más probable que la ruta JRE permanezca estable, especialmente si comparte una sola instalación de Eclipse Múltiples máquinas / VM.
robar el
funcionó para mí, pero mientras se carga el eclipse se cuelga en org.eclipse.debug.core
Rahul Razdan
55
+1 Me faltaba la parte de pedido. Todos los otros lugares en la red hablan sobre el argumento -vm pero se niegan a decir que debe ocurrir antes de -vmargs
demongolem
Estaba enfrentando el mismo problema al instalar Android SDK con eclipse y esto lo solucionó. Gracias !
codingscientist
Para el registro, estoy usando Windows 7 Home Premium y Server JVM 1.8.0_05, el segundo método, señalando que el dll funcionó para mí, el primer método no funcionó.
Ironluca
26

Sé que esto es bastante antiguo ahora, pero acabo de tener el mismo problema y el problema era que estaba asignando mucha memoria para eclipsar que no podía obtener. Entonces abra eclipse.ini y reduzca la cantidad de memoria que se está asignando a -Xmx XXMaxPermSizeCambié la mía a -Xmx512myXXMaxPermSize256m

Popeye
fuente
¿Está esto en una máquina de 32 bits? Porque creo que hay un límite en la cantidad de memoria que puede usar en ventanas de 32 bits
Maro
@Maro Sí lo fue. En busca de ser actualizado a 64 bits.
Popeye
1
Funcionó para mí, reemplazó 768m con 512m en el parámetro -Xmx.
tartak
Estoy en una máquina de 64 bits con 8 GB de memoria pero sigo usando -Xmx = 768m en combinación con -XX: PermSize = 256m y -XX: MaxPermSize = 512m demostró ser demasiado. Es un Java de 32 bits, por lo que 'solo' puede usar 4 GB, pero el máximo parece ser mucho más bajo en la práctica. Esperaría que esto necesite 1024m para comenzar y 1280m máximo ...
Stijn de Witt
Gracias, estoy seguro de que lo cambié a 1024 hace unos meses para solucionar el problema. La verdadera respuesta a esta pregunta es pasar a Android Studio, es mucho mejor. Solo volví a Eclipse porque no había migrado una de mis aplicaciones más antiguas y necesitaba hacer algo.
Ryan Heitner el
18
  1. Abra el eclipse.iniarchivo desde su carpeta eclipse.

  2. Tiene algunos de agregar en la configuración. Encuentra la línea –launcher.XXMaxPermSize. Ahora elimine el valor predeterminado 256m y guárdelo.

Furqi
fuente
18

Quité eclipse.ini . Encontré este problema y al eliminar el archivo ini lo resolvió.

Monnster
fuente
12
  1. Abra la carpeta con Eclipse.exe y busque el archivo eclipse.ini
  2. Reemplace -vmargs por su ruta real actual de javaw.exe: * -vm “c: \ Archivos de programa \ 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
    
Un garhy
fuente
9

También puede resolver este problema eliminando el valor "256m" debajo de la línea "-launcher.XXMaxPermSize".

Yasir Ali
fuente
Trabajó para mi. Aunque incluso con ese valor allí, solía funcionar bien después de cerrar la sesión de Windows y luego iniciar sesión.
amar
9

Encontré una solución muy fácil para esto. Simplemente elimine el eclipse.iniarchivo, pero primero haga una copia de seguridad. Tuve este mismo problema muchas veces y finalmente lo eliminé y ya no tengo el problema.

También aumentó el tiempo de carga. Ahora mi Eclipse comienza más rápido que antes.

usuario3739970
fuente
Después de eliminar el eclipse.ini , obtengo este error, cuando intenté iniciar Eclipse => el lanzador de ejecución de eclipse no pudo localizar su biblioteca compartida compañera
NIKHIL CHAURASIA
¡increíble! Intenté muchos pasos para editar el archivo ini. Pero esta respuesta es genial. funciona. ¡salud!
borde
7

En el STS.confarchivo, debe verificar dos cosas importantes para evitar crear / asignar un problema jvm

1. Indique la ubicación exacta de instalación de jdk:

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

2. Debe proporcionar la versión exacta de Java instalada:

--Dosgi.requiredJavaVersion=1.7

3. Intente reducir el tamaño de la memoria:

--XX:MaxPermSize=256m
rajachinnappan
fuente
7
  1. Abra el archivo ecplise.ini que se encuentra en la carpeta de instalación de eclipse.

  2. Busque y reemplace la línea -vmargs con -vm D: \ jdk1.6.0_23 \ bin \ javaw.exe O simplemente elimine la línea -vmargs y guárdela. Ahora el problema se está resolviendo

Rajas
fuente
2
Gracias @Rajas solo elimine la línea -vmargs y guárdela funcionó para mí
Bernauer
5

Después de probar la solución anterior de reducir la memoria, Eclipse comienza a funcionar pero se cuelga cada vez que carga los complementos desde el espacio de trabajo especialmente en org.eclipse.debug.core.

Encontré la solución aquí, Eclipse se cuelga en Splash Screen y quiero compartirlo. Esperemos que pueda ayudar a otros también.

Rahul Razdan
fuente
a diferencia de cualquier otra cosa que probé en la última hora, ESTO funcionó, ¡gracias!
Justin T.
Enlace muerto, ¿hay alguna posibilidad de que tengas otro?
Adam Parkin
4

Asegúrese de que eclipse.ini no tenga entradas múltiples y use la entrada vm antes de vmargs:

-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
fuente
3

Prueba este:

-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
fuente
3

Arreglo rapido:

Cambiar -Xmx1024ma -Xmx512men eclipse.ini (archivo que se encuentra al mismo nivel en el que eclipse.exeestá presente). Y funcionará como un encanto.

Sumoanand
fuente
3

La forma sencilla de solucionar este problema es simplemente eliminar o cambiar el nombre de su archivo eclipse.ini . Pruébalo primero. Si este método no resuelve su problema, pruebe las soluciones que se describen a continuación.

Otras formas de arreglarlo:

Solución 1

Agregue una cadena al archivo eclipse.ini que cambie el destino del javaw.exearchivo. ¡Lo principal es que esta cadena debe colocarse encima de la cadena "-vmargs"!

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

Solución 2

Elimine el valor de –launcher.XXMaxPermSize, como 256m .

Solución 3

Elimine o disminuya los valores de Xms y Xmx:

-Xms384m 
-Xmx384m
Dimon
fuente
3

Esto puede funcionar:

Abra el eclipse.iniarchivo y pegue debajo de las líneas al final de las líneas.

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

Después de agregar -vm en eclipse.ini como se muestra a continuación funcionó para mí. Agréguelo antes -vmargs, no lo quite

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

Hubo una actualización de jdk que estaba causando este problema.

Dinesh M
fuente
2

Esto funcionó para mí:

Cerré todas las otras aplicaciones de uso intensivo de memoria en mi máquina con Windows 7. E intenté abrir Eclipse y, voila, funcionó.

amalBit
fuente
2

Alguna vez no es tu eclipse.ini ; Es tu JDK el que está bloqueado. Puede verificarlo escribiendo el siguiente comando en el símbolo del sistema:

c:\> java -version

Si este comando muestra el siguiente error:

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

Luego, primero desinstale JDK y vuelva a instalarlo.

Eclipse volverá a estar en acción;) Como hoy tengo el mismo problema, y Itachi Uchiha sugiere lo anterior .

TheLittleNaruto
fuente
2

Enfrenté el problema cuando mi protón Eclipse no podía iniciarse. Error obtenido "No se pudo crear la máquina virtual Java"

Agregado a continuación al archivo eclipse.ini

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

Agregar esto solucionó el problema para mí:

-vm

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

Reduzca el tamaño del parámetro hasta -256

Ver mi archivo 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
Youdhveer
fuente
1

La solución adecuada a su problema es agregar la línea -vm que apunta al archivo jvm.dll de su carpeta Java en 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*/

Si la solución anterior no es fructífera, no intente nada más. La mayoría de los consejos en este hilo están equivocados. Algunos de estos hacks pueden funcionar temporalmente o en ciertas configuraciones de máquina, pero el contenido de eclipse.ini no es trivial ni arbitrario. Para la referencia autorizada, consulte esta [página wiki]: https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM que explica el contenido del archivo. También tenga en cuenta los enlaces Ver también en la parte inferior de esa página para obtener más detalles sobre cosas como el tamaño de almacenamiento dinámico, etc. NO elimine eclipse.ini, NUNCA. También es desaconsejable eliminar las opciones -vm o Xmx. Si lo haces, estás pidiendo problemas.

Aquí hay referencias de la página wiki relacionadas con su problema:

Referencia 1

Referencia_2

Vishwesh Mangalore
fuente
1
Una pinta simple pero importante para mencionar: -vmdebe colocarse antes de la -vmargs opción en eclipse.ini.
woodz
0

Para mí, se resolvió cambiando la ruta bin JDK en la variable de entorno Path. Coloque la ruta bin JDK que tiene jre / bin / client / jvm.dll en la página de inicio JDK.

Srihari Karanth
fuente
0

PASOS PARA RESOLVER EL PROBLEMA: -

  1. Abra el archivo eclipse.ini de su carpeta eclipse.

  2. Tiene algunos de agregar en la configuración. Busque la línea –launcher.XXMaxPermSize. Será la última línea en este archivo. Ahora elimine / elimine el valor predeterminado 256m y guárdelo.

Nikhil Kumar
fuente
0
-vm D:\Java\jdk1.6.0_29\bin\javaw.exe
Un hombre
fuente
0

Estaba enfrentando el mismo problema y encontré la solución. Hay problemas en la asignación de MaxPermSize. Si intenta asignar más que el espacio libre de su máquina, entonces aparece este error en mi problema. Intenta reducir MaxPermSize.

Creo que te ayudará a resolver tu problema.

Kanani Mohit
fuente
0

Todas estas soluciones me fallaron. Esto me sucedió de la nada después de usar Eclipse durante seis meses. Parece que de alguna manera mi JDK se corrompió.

Mi solución final fue descargar un JDK más nuevo y actualizar mi JAVA_HOME en consecuencia, de jdk1.6.0_37 a jdk1.6.0_43 en mi caso.

Ryan Heitner
fuente
0

@Maro ¡Para mí funcionó de manera muy simple!

Después de recibir la alerta de mensaje de error, ejecuté 'eclipse c .exe' desde un símbolo del sistema. Esto abrió Eclipse. Por otra parte, intenté con 'eclipse.exe' y ahora funciona bien y bien.

Desafortunadamente, no dio ninguna razón técnica para esto.

Satyendra
fuente