java - jbrain - intellij idea full 2018
La clase JavaLaunchHelper se implementa en dos lugares (7)
Hoy actualicé mi Idea Intellij en macOS Sierra, y ahora, cuando ejecuto aplicaciones en la consola, tengo este error:
objc [3648]: la clase JavaLaunchHelper se implementa en /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java (0x10d19c4c0) y /Library/Java/JavaVirtualMachines/jdk1.0.0k.0_kdk1kdk1.0kdk1.0kd1dk1.0kdd1 Contenidos / Inicio / jre / lib / libinstrument.dylib (0x10ea194e0). Uno de los dos será usado. Cuál no está definido.
Dado que "este mensaje es inofensivo" (vea la respuesta de @ CrazyCoder ), una solución simple y segura es que puede doblar este mensaje en la consola mediante la configuración de IntelliJ IDEA:
-
【Preferencias】 - 【Editor】 - 【General】 - 【Consola】 - 【Doblar líneas de consola que contienen】
Por supuesto, puede usar 【Buscar acción ...】 (cmd+shift+A
en mac) y escribirFold console lines that contain
para navegar de manera más efectiva. -
add
Class JavaLaunchHelper is implemented in both
En mi computadora, resulta: (LGTM: b)
Y puede desplegar el mensaje para verificarlo nuevamente:
PD:
A partir de octubre de 2017, este problema ahora está resuelto en jdk1.9 / jdk1.8.152 / jdk1.7.161
Para obtener más información, consulte la respuesta de @ muttonUp )
El mismo error, actualizo mi
Junit
y lo
Junit
org.junit.jupiter:junit-jupiter-api:5.0.0-M6
a
org.junit.jupiter:junit-jupiter-api:5.0.0
Esto fue un problema para mí hace años y anteriormente lo arreglé en Eclipse al excluir 1.7 de mis proyectos, pero se convirtió nuevamente en un problema para IntelliJ, que instalé recientemente. Lo arreglé por:
-
Desinstalar el JDK:
cd /Library/Java/JavaVirtualMachines sudo rm -rf jdk1.8.0_45.jdk
(Tenía instalado
jdk1.8.0_45.jdk
; obviamente, debe desinstalar la versión de Java quejdk1.8.0_45.jdk
en esa carpeta. Los archivos ofensivos se encuentran en esa carpeta y deben eliminarse). - Descarga e instalación de JDK 9 .
Tenga en cuenta que la próxima vez que cree un nuevo proyecto, o abra un proyecto existente, deberá configurar el SDK del proyecto para que apunte a la nueva instalación de JDK. También puede ver este error o hacer que retroceda si tiene instalado JDK 1.7 en su carpeta JavaVirtualMachines (que es lo que creo que me pasó).
Esto me sucedió cuando instalé Intellij IDEA 2017, vaya al menú Preferencias -> Compilación, Ejecución, Implementación -> Depurador y desactive la opción: "Forzar VM clásica para JDK 1.3.xy anterior". Esto me funciona.
Estoy usando Intellij Idea 2017 y me metí en el mismo problema. Lo que resolvió el problema para mí fue simplemente
- cerrar el proyecto en intelliJ
- Archivo -> Nuevo -> proyecto a partir de recursos existentes
- utilizar Importar desde modelo externo (si lo hay)
- Abra el proyecto nuevamente.
He encontrado la otra solución: excluir
libinstrument.dylib
de la ruta del proyecto.
Para hacerlo, vaya a
Preferencias
->
Compilación, ejecución e implementación
->
Compilador
->
Excluye
->
+
y aquí agregue el archivo por la ruta en el mensaje de error.
Puedes encontrar todos los detalles aquí:
- IDEA-170117 "objc: la clase JavaLaunchHelper se implementa en ambas ..." advertencia en consolas Run
Es el viejo error en Java en Mac que se activó por el Agente de Java utilizado por el IDE al iniciar la aplicación. Este mensaje es inofensivo y es seguro ignorarlo. Comentario del desarrollador de Oracle:
El mensaje es benigno, no hay impacto negativo de este problema ya que ambas copias de esa clase son idénticas (compiladas de la misma fuente). Es puramente un problema cosmético.
El problema se solucionó en Java 9 y en Java 8 actualización 152 .
Si le molesta o afecta sus aplicaciones de alguna manera (no debería), la solución para IntelliJ IDEA es desactivar el agente de
idea.no.launcher=true
agregando
idea.no.launcher=true
en
idea.properties
(
Help
|
Edit Custom Properties...
).
La solución tendrá efecto en el próximo reinicio del IDE.
Sin embargo, no recomiendo deshabilitar el agente de inicio IntelliJ IDEA. Se usa para funciones como el apagado elegante (botón Salir), volcados de hilos, soluciones a un problema con una línea de comando demasiado larga que excede los límites del sistema operativo, etc. Perder estas funciones solo por ocultar el mensaje inofensivo probablemente no valga la pena, pero es Depende de usted.