it-swarm.com.de

Die Klasse JavaLaunchHelper ist in beiden Klassen implementiert ... libinstrument.dylib. Einer der beiden wird verwendet. Welches ist undefiniert

Ich habe ein Upgrade auf die neueste Version Java 7u4 unter MacOS X durchgeführt und beim Starten meiner Anwendung mit Eclipse die folgende Meldung auf der Konsole angezeigt. Die App funktioniert einwandfrei, aber ich möchte die Ursache des Problems herausfinden und hoffentlich eine Lösung dafür finden.

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.

Weiß jemand, warum diese Meldung gedruckt wird und wie man sie behebt?

268
ams

⚠️ Für JetBrains IntelliJ IDEA: Gehe zu Help -> Edit Custom Properties.... Erstellen Sie die Datei, wenn Sie dazu aufgefordert werden. Um die Fehlermeldung zu deaktivieren, fügen Sie Folgendes in die von Ihnen erstellte Datei ein:

idea_rt
idea.no.launcher=true

Dies wird beim Neustart des IntelliJ wirksam.

172
rust

Seit Oktober 2017 ist dieses Problem in behoben

116
muttonUp
  1. Installieren Sie Java 7u21 von: http://www.Oracle.com/technetwork/Java/javase/downloads/Java-archive-downloads-javase7-521261.html#jdk- 7u21-oth-JPR

  2. Stellen Sie diese Variablen ein:

    export Java_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home
    export PATH=$Java_HOME/bin:$PATH
    
  3. Führe deine App aus und hab Spaß :)

19
gotoalberto

Kopieren Sie die Kommentare von Pasting @ Lichtamberg in die Antwort von gotoalberto

Funktioniert auch für 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 

Dies behebt mein Problem am Java 8.

11
Pritesh Jain

Ich bin nicht sicher, ob dies die Ursache des Problems ist, aber ich habe dieses Problem erst nach der Installation von JVM Monitor.

Die Deinstallation von JVM Monitor hat das Problem für mich gelöst.

5
paradite

Wie die anderen ausführlichen Antworten zeigen, handelt es sich um einen Fehler im JDK (bis zu u45), der in JDK7u60 behoben wird. Dieser ist noch nicht erschienen. Sie können den b01 unter folgender Adresse herunterladen: https://jdk7.Java). net/download.html

Es ist Beta, aber das Problem wurde für mich behoben.

4
Matthias Wenz

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

Von dem, was ich online gefunden habe, ist dies ein Bug , der in JDK 1.7.0_45 eingeführt wurde. Ich habe gelesen, dass es in der nächsten Version von Java behoben wird, aber es ist noch nicht heraus. Angeblich wurde es in 1.7.0_60b01 behoben, aber ich kann nicht finden, wo ich es herunterladen kann, und 1.7.0_60b02 führt den Fehler erneut ein.

Ich habe es geschafft, das Problem zu umgehen, indem ich auf JDK 1.7.0_25 zurückgegriffen habe. Wahrscheinlich nicht die Lösung, die Sie wollten, aber es ist die einzige Möglichkeit, wie ich es zum Laufen bringen konnte. Vergessen Sie nicht, nach der Installation des JDK JDK 1.7.0_25 in Eclipse hinzuzufügen.

Bitte antworten Sie NICHT direkt auf diese E-Mail, sondern gehen Sie zu StackOverflow: Klasse JavaLaunchHelper ist in beiden implementiert. Eine der beiden wird verwendet. Welche ist undefiniert

2
Vinod Joshi

Um dieses Problem zu beheben, habe ich ein Downgrade auf JDK Version 1.7.0_21 durchgeführt. Dann habe ich this kleines Bash-Skript verwendet, um die von mir verwendete Version zu ändern.

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 [email protected]`
   export PATH=$Java_HOME/bin:$PATH
  fi
 }

 function removeFromPath() {
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
 }

Sobald Sie das Bash-Skript in Ihrer zshrc/bshrc-Datei haben, rufen Sie einfach setJdk 1.7.0_21 und du bist gut zu gehen.

1
guy.gc

Nun, nach einigem Ringen funktionierte es für mich, das aktuelle JDK vollständig zu entfernen, wie hier beschrieben :

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

Dann installierte 1.7.0_21, die von hier heruntergeladen wurde.

Jetzt Java -version fordert auf:

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)
0
demogar

Juli 2019

OSX Mojave 10.14.5 (18F132) IntelliJ 2019-1 Community Edition. Es hat funktioniert, die Datei idea.properties zu setzen. Ich habe auch Java_HOME so konfiguriert, dass es auf /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/ verweist.

benutzerdefinierte IntelliJ IDEA Eigenschaften

idea_rt idea.no.launcher = true

0
Joe V.