eclipse - puedo - java was started but returned exit code 13 solucion
¿Cómo cambiar el JRE predeterminado para todas las áreas de trabajo de Eclipse? (11)
Abra la página de preferencias de Java> Installed JREs. Marque la casilla en la línea para el JRE que desea asignar como el JRE predeterminado en su banco de trabajo. Si el JRE que desea asignar como predeterminado no aparece en la lista, debe agregarlo. Haga clic en Aceptar.
Tengo un JRE en C:/Program Files (x86)/Java/jre6
y ese fue el único en el momento en que instalé Eclipse. Posteriormente, instalé un JDK completo en C:/home/SFTWR/jdk1.6.0_21
y cambié mi variable de entorno JAVA_HOME
a eso. Sin embargo, cada vez que comienzo un nuevo espacio de trabajo de Eclipse, solo recoge el antiguo JRE y tengo que eliminarlo manualmente y agregar el nuevo.
¿Cómo puedo vincular mi instalación de Eclipse al nuevo JDK para que cada nuevo espacio de trabajo apunte solo a eso? eclipse.ini
pero no había ninguna referencia a la que JRE debía dirigirse.
ACTUALIZAR:
Entré en Prefs->Java->Installed JRE
, agregué la nueva ubicación, la Prefs->Java->Installed JRE
como predeterminada, eliminé la otra y solo fue efectiva para el área de trabajo actual. Sin embargo, cuando abrí un nuevo espacio de trabajo, solo estaba disponible el antiguo JRE. Por lo tanto, esto no modificó la configuración central de Eclipse que se aplica a todos los espacios de trabajo (al menos nuevos)
En Windows, he intentado diferentes enfoques: configuración de JAVA_HOME, JRE_HOME y ampliación de la RUTA para apuntar al jre18 deseado, pero nada ayudó. La desactivación del JRE17 en el panel de control de Java tampoco ayudó.
Lo que me ayudó fue forzar a eclipse a usar el JRE apropiado en el archivo eclipse.ini, por ejemplo
-vm C: / java / jdk1.8.0_111 / jre / bin / javaw.exe
Finalmente lo entendí: la forma en que Eclipse recoge el JRE es mediante el uso del PATH del sistema .
No tenía C:/home/SFTWR/jdk1.6.0_21/bin
en la ruta anterior y tenía C:/Program Files (x86)/Java/jre6/bin
. Tenía JRE_HOME
y JAVA_HOME
configurados en C:/home/SFTWR/jdk1.6.0_21
pero ninguno de los dos importaba. Supongo que Eclipse hizo (algo al efecto de) dónde java (o qué en UNIX / Linux) para ver dónde está Java en la ruta y tomó el JRE al que pertenecía ese java.exe
. En mi caso, a pesar de todos los ajustes de configuración que había hecho (incluida la opción eclipse.ini
-vm como se sugirió anteriormente), se mantuvo pegado a lo que había en el camino.
Quité el viejo contenedor de JRE del camino, puse el nuevo, y funciona para todos los espacios de trabajo.
Los JRE instalados se utilizan para qué JRE ejecutar para sus proyectos y servidores de Java descendentes. En cuanto a qué JVM o JRE se utiliza para ejecutar el proceso de Eclipse (workbench) que está controlado por su entorno, historial y binario eclipse.exe. Por lo tanto, eclipse.exe decide con qué JRE Eclipse se ejecutará, no instalará las preferencias de JRE, ya que no se leerán hasta que OSGi framework esté en funcionamiento y se cargue después de seleccionar JVM / JRE.
Entonces, para los nuevos espacios de trabajo, Eclipse va a usar su JRE actualmente en ejecución para poblar las preferencias de JRE.
La mejor manera que conozco es forzar a eclipse.exe a usar el JRE que le diga a través del interruptor -vm
. Entonces en tu eclipse.ini haz esto:
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-vm
/path/to/exactly/what/jre/you/want/as/default/javaw.exe
...
Me encontré con un problema similar en el que eclipse no estaba usando mi %JAVA_HOME%
actual que estaba en la path
y en su lugar estaba usando una versión anterior. La documentación señala que si no se especifica -vm
en el archivo ini, eclipse buscará una biblioteca compartida jvm.dll
Esto aparece en el registro bajo la clave HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/JavaSoft/Java Runtime Environment
que se instala cuando se usa el instalador de Windows Java (la clave puede ser un poco diferente según 64 bits frente a 32 bits, pero busque jvm.dll
). Debido a que estaba buscando esta biblioteca compartida en mi path
antes del %JAVA_HOME%/bin
, estaba usando la versión anterior.
Como han dicho otros, la forma más fácil de lidiar con esto es especificar la vm específica que desea usar en el archivo eclipse.ini
. Estoy escribiendo esto porque no pude entender cómo todavía estaba usando la versión antigua cuando no estaba especificada en ninguna parte de la path
o el archivo eclipse.ini
.
Vea el enlace al documento a continuación: http://help.eclipse.org/kepler/topic/org.eclipse.platform.doc.isv/reference/misc/launcher.html?cp=2_1_3_1
Encontrar una máquina virtual y utilizar la API de invocación JNI
El iniciador de Eclipse es capaz de cargar la máquina virtual de Java en el proceso de eclipse utilizando la API de invocación de la interfaz nativa de Java. El iniciador todavía es capaz de iniciar la máquina virtual de Java en un proceso separado, al igual que la versión anterior de Eclipse. El método que se usa depende de cómo se haya encontrado la máquina virtual.
No -vm especificado
Cuando no se especifica -vm, el iniciador busca primero una máquina virtual en un directorio jre en la raíz de eclipse y luego en la ruta de búsqueda. Si java se encuentra en cualquier ubicación, el iniciador busca una biblioteca compartida jvm (jvm.dll en Windows, libjvm.so en plataformas * nix) relativa a ese ejecutable java.
- Si se encuentra una biblioteca compartida de jvm, el iniciador la carga y usa la API de invocación de JNI para iniciar la vm.
- Si no se encuentra una biblioteca compartida de jvm, el iniciador ejecuta el iniciador de java para iniciar la vm en un nuevo proceso.
-vm especificado en la línea de comando o en eclipse.ini
Eclipse se puede iniciar con "-vm" para indicar el uso de una máquina virtual. Hay varias posibilidades para el valor de:
- directorio: es un directorio. Buscamos en ese directorio por:
- (1) un lanzador java o
- (2) la biblioteca compartida de jvm.
Si encontramos la biblioteca compartida jvm, usamos la invocación JNI. Si encontramos un iniciador, intentamos encontrar una biblioteca jvm en ubicaciones conocidas relativas al iniciador. Si encontramos uno, usamos la invocación de JNI. Si no se encuentra una biblioteca jvm, ejecutamos Java en un nuevo proceso.
java.exe / javaw.exe: es una ruta a un lanzador java. Ejecutamos ese java launcher para iniciar el vm en un nuevo proceso.
jvm dll o así: es una ruta a una biblioteca compartida de jvm. Intentamos cargar esa biblioteca y usar la API de invocación JNI para iniciar la vm en el proceso actual.
Me he enfrentado con el mismo problema. La resolución: - Ventana -> Preferencias -> Java -> JRE instalados -> Agregar ... - Haga clic derecho en su proyecto -> Ruta de compilación -> Configurar ruta de compilación -> Agregar biblioteca -> Biblioteca del sistema JRE -> siguiente -> JRE predeterminado de WorkSpace
Mi respuesta se solapará con la de amphibient mientras la agrego.
Su variable JAVA_HOME está bien, pero también necesita agregar lo siguiente a su variable Path:
;%JAVA_HOME%/bin
Esto permitirá que sus aplicaciones en su entorno de Windows accedan a su JDK. También debe reiniciar su computadora una vez que haya agregado estas variables de entorno antes de verificar si funcionan. En mi caso, incluso cerrar la sesión y luego volver no funcionaba: tuve que reiniciar por completo.
Si desea comprobar si las variables de entorno están configuradas correctamente, puede abrir un símbolo del sistema y escribir> echo %JAVA_HOME
y> echo %Path%
para ver si esas variables funcionan correctamente. Mientras busco soluciones, también me encuentro con personas que afirman que necesitan agregar comillas (") alrededor de las variables de entorno para que funcionen correctamente ( "%JAVA_HOME%"/bin
) si su ruta JAVA_HOME incluye espacios. Pensé que este era mi caso al principio, pero después de hacer un reinicio completo mis variables parecían funcionar correctamente sin comillas a pesar de los espacios.
Navegué hasta
Eclipse>Pref>Java>Installed JRE>Search...
2 de ellos aparecieron y revisé el último. Antes de hacerlo, también fui a About>Check for Updates
y lo actualicé. No tuve que volver a instalar ningún JRE o JDK tampoco. Podría haberlo hecho hace un tiempo, excepto que fue con 1.6 no 1.4. ¡Espero que ayude!
cuando selecciona la configuración de ejecución, hay un toque de JRE junto al toque principal, seleccione " JRE predeterminado del espacio de trabajo (JDK1.7) ".
Asegúrese de usar jdk en Prefs->Java->Installed JREs ->Execution Environment
intente cambiar el orden: haga clic con el botón derecho en su proyecto-> BuildPath-> Configurar ...-> Orden y Exportar pestaña -> mover jre7 ARRIBA.