La clase JavaLaunchHelper se implementa en dos lugares

Hoy actualicé mi Intellij Idea 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.8.0_121.jdk/ Contenidos / Inicio / jre / lib / libinstrument.dylib (0x10ea194e0). Uno de los dos será usado. Cuál es indefinido

Puedes encontrar todos los detalles aquí:

  • IDEA-170117 “objc: Class JavaLaunchHelper se implementa en ambos …” advertencia en Run consoles

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 un impacto negativo de este problema ya que ambas copias de esa clase son idénticas (comstackdas de la misma fuente exacta). Es un problema puramente cosmético.

El problema está solucionado 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 deshabilitar el agente idea.no.launcher=true agregar idea.no.launcher=true en idea.properties ( Help | Edit Custom Properties... ). La solución alternativa tendrá efecto el próximo reinicio del IDE.

Sin embargo, no recomiendo inhabilitar IntelliJ IDEA launcher agent. Se usa para funciones tales como apagado ordenado (botón de salida), volcados de hilo, soluciones provisionales, un problema con una línea de comando demasiado larga que excede los límites del sistema operativo, etc. Perder estas características solo por ocultar el mensaje inofensivo probablemente no valga la pena, pero es Depende de usted.

Como “este mensaje es inofensivo” (consulte la respuesta de @CrazyCoder ), una solución simple y segura es que puede doblar este mensaje de zumbido en la consola mediante la configuración de IntelliJ IDEA:

  1. 【Preferencias】 – 【Editor】 – 【General】 – 【Consola】 – 【Dobla las líneas de la consola que contienen】
    Por supuesto, puede usar 【Buscar acción …】 ( cmd+shift+A en mac) y escriba Fold console lines that contain para navegar de manera más efectiva.
  2. add La Class JavaLaunchHelper is implemented in both

imagen

En mi computadora, resulta: (LGTM: b)

imagen

Y puede desplegar el mensaje para verificarlo nuevamente:

imagen

PD:

A partir de octubre de 2017, este problema ahora se resuelve en jdk1.9 / jdk1.8.152 / jdk1.7.161
para más información, mira la respuesta de @muttonUp )

Estoy usando Intellij Idea 2017 y me metí en el mismo problema. Lo que me solucionó el problema fue simplemente

  1. cerrar el proyecto en intelliJ
  2. Archivo -> Nuevo -> proyecto de recursos existentes
  3. use Importar desde modelo externo (si hay alguno)
  4. abre el proyecto nuevamente

Esto me sucedió cuando instalé Intellij IDEA 2017, voy al menú Preferencias -> Construir, Ejecución, Despliegue -> Depurador y deshabilito la opción: “Forzar VM clásica para JDK 1.3.xy anteriores”. Esto me funciona

He encontrado la otra solución alternativa: excluir libinstrument.dylib de la ruta del proyecto. Para hacerlo, vaya a Preferencias -> Comstackción, Ejecución e Implementación -> Comstackdor -> Excludes -> + y aquí agregue el archivo por la ruta en el mensaje de error.

Este fue un problema para mí hace años y lo había solucionado previamente en Eclipse al excluir 1.7 de mis proyectos, pero volvió a ser un problema para IntelliJ, que recientemente instalé. Lo arreglé por:

  1. Desinstalando el JDK:

     cd /Library/Java/JavaVirtualMachines sudo rm -rf jdk1.8.0_45.jdk 

    (Tenía jdk1.8.0_45.jdk instalado; obviamente, debe desinstalar cualquier versión de Java que jdk1.8.0_45.jdk en esa carpeta. Los archivos ofensivos se encuentran en esa carpeta y deben eliminarse).

  2. 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 es posible que aún vea este error o que se vuelva lento si tiene JDK 1.7 instalado en su carpeta JavaVirtualMachines (que es lo que creo que me sucedió a mí).

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