La clase JavaLaunchHelper se implementa en ambos … libinstrument.dylib. Uno de los dos será usado. Cuál es indefinido

Actualicé a la última versión de Java 7 u40 en MacOS X y comencé a recibir el siguiente mensaje en la consola al iniciar mi aplicación usando Eclipse. La aplicación funciona bien, pero me gustaría descubrir la causa del problema y espero que sea una solución.

objc[10012]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined. 

¿Alguien sabe por qué se imprime este mensaje y cómo solucionarlo?

For️ Para JetBrains IntelliJ IDEA : vaya a Help -> Edit Custom Properties... Crea el archivo si te pide que lo crees. Para deshabilitar el mensaje de error, pegue lo siguiente en el archivo que creó:

 idea_rt idea.no.launcher=true 

Esto tendrá efecto en el próximo reinicio de IntelliJ.

A partir de octubre de 2017, este problema ahora se resuelve en

  • jdk1.9
  • jdk1.8.152
  • jdk1.7.161
  1. Instale Java 7u21 desde aquí: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u21-oth-JPR

  2. establecer estas variables:

     export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH 
  3. Ejecuta tu aplicación y diviértete 🙂

Copie los comentarios de Pasting @ Lichtamberg a la respuesta de gotoalberto

Funciona también para Java 1.8:

 # in ~/.zshrc and ~/.bashrc export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH 

Esto solucionó mi problema en java 8.

No estoy seguro de si esta es la causa del problema, pero tengo este problema solo después de instalar JVM Monitor.

La desinstalación de JVM Monitor resolvió el problema para mí.

Como se detalla en otras respuestas, este es un error en el JDK (hasta u45) que se solucionará en JDK7u60, mientras que esto aún no está disponible, puedes descargar el b01 desde aquí:

https://jdk7.java.net/download.html

Es beta, pero solucionó ese problema para mí.

https://groups.google.com/forum/#!topic/google-appengine-stackoverflow/QZGJg2tlfA4

Por lo que he encontrado en línea, este es un error introducido en JDK 1.7.0_45. He leído que se solucionará en la próxima versión de Java, pero aún no ha salido. Supuestamente, se arregló en 1.7.0_60b01, pero no puedo encontrar dónde descargarlo y 1.7.0_60b02 vuelve a introducir el error.

Logré solucionar el problema volviendo a JDK 1.7.0_25. Probablemente no es la solución que quería, pero es la única forma en que pude hacerlo funcionar. No olvides agregar JDK 1.7.0_25 en Eclipse después de instalar el JDK.

NO RESPONDA directamente a este correo electrónico, pero vaya a StackOverflow: la clase JavaLaunchHelper se implementa en ambos. Uno de los dos será usado. Cuál es indefinido

Para resolver este problema, he degradado a JDK versión 1.7.0_21 . luego usé este pequeño script bash para cambiar la versión que uso.

 function setjdk() { if [ $# -ne 0 ]; then removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin' if [ -n "${JAVA_HOME+x}" ]; then removeFromPath $JAVA_HOME fi export JAVA_HOME=`/usr/libexec/java_home -v $@` export PATH=$JAVA_HOME/bin:$PATH fi } function removeFromPath() { export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;") } 

Una vez que tenga el script bash en su archivo zshrc / bshrc, simplemente llame a setJdk 1.7.0_21 y setJdk 1.7.0_21 listo.

Bueno, después de algunas dificultades, lo que funcionó para mí fue eliminar completamente el JDK actual, como se describe aquí :

 sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist sudo rm -rf /Library/PrivilegedHelperTools/com.oracle.java.JavaUpdateHelper sudo rm -rf /Library/LaunchDaemons/com.oracle.java.JavaUpdateHelper.plist sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist 

Luego se instaló 1.7.0_21, después de descargar desde aquí .

Ahora una java -version sugiere:

 java version "1.7.0_21" Java(TM) SE Runtime Environment (build 1.7.0_21-b12) Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode) 

Si está utilizando IntelliJ y Mac, vaya a Estructura del proyecto -> SDK y asegúrese de que haya una lista de Java, pero apunta a algo así como

 /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home 

En lugar de usuario a casa …

jdk-7u80-macosx-x64.dmg corrige este problema.