it-swarm.com.de

Die Klasse JavaLaunchHelper wird an zwei Stellen implementiert

Heute habe ich mein Intellij Idea auf macOS Sierra aktualisiert und jetzt, wenn ich Apps in der Konsole ausführe, habe ich folgenden Fehler:

objc [3648]: Die Klasse JavaLaunchHelper ist sowohl in /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/Java (0x10d19c4c0) als auch in /Library/Java/JavaVirtualMachines/jdk1.8.0_12 implementiert. Inhalt/Home/jre/lib/libinstrument.dylib (0x10ea194e0). Einer der beiden wird verwendet. Welches ist undefiniert.

268
Ess

Alle Details finden Sie hier:

  • IDEA-170117 "objc: Klasse JavaLaunchHelper ist in beiden implementiert ..." Warnung in Run-Konsolen

Es ist der alter Fehler in Java auf dem Mac, der ausgelöst durch den Java Agent vom IDE beim Starten der App verwendet wird . Diese Meldung ist harmlos und kann ignoriert werden. Kommentar des Oracle-Entwicklers:

Die Meldung ist harmlos. Dieses Problem hat keine negativen Auswirkungen, da beide Kopien dieser Klasse identisch sind (aus genau derselben Quelle kompiliert). Es ist ein rein kosmetisches Problem.

Das Problem ist behoben in Java 9 und in Java 8 Update 152 .

Wenn es Sie stört oder Ihre Apps in irgendeiner Weise beeinträchtigt (sollte es nicht), besteht die Problemumgehung für IntelliJIDEAdarin, den Launcher-Agenten idea_rt durch Hinzufügen von idea.no.launcher=true zu idea.properties zu deaktivieren ] _ (Help | Edit Custom Properties...). Die Problemumgehung wird beim nächsten Neustart der IDE wirksam.

Es wird jedoch nicht empfohlen, IntelliJIDEA Launcher Agent zu deaktivieren. Es wird für Funktionen wie ordnungsgemäßes Herunterfahren (Schaltfläche "Beenden"), Thread-Dumps, Problemumgehungen bei zu langen Befehlszeilen, die die Betriebssystemgrenzen überschreiten, usw. verwendet. Der Verlust dieser Funktionen, nur um die harmlose Nachricht auszublenden, ist es wahrscheinlich nicht wert, aber es lohnt sich wie du willst.

449
CrazyCoder

Da "diese Nachricht ist harmlos" (siehe die @ CrazyCoder Antwort ), eine einfache und Eine sichere Lösung besteht darin, dass Sie diese summende Nachricht in der Konsole über die Einstellungen von IntelliJ IDEA zusammenfalten können:

  1. 【Einstellungen】 - 【Editor】 - 【Allgemein】 - 【Konsole】 - 【Konsolenzeilen falten, die】 enthalten
    Natürlich können Sie 【Aktion suchen ...】 (cmd+shift+A auf dem Mac) verwenden und Fold console lines that contain eingeben, um effektiver zu navigieren.
  2. Class JavaLaunchHelper is implemented in both hinzufügen

image

Auf meinem Computer stellt sich heraus: (LGTM: b)

image

Und Sie können die Nachricht entfalten, um sie erneut zu überprüfen:

image

PS:

Seit Oktober 2017 ist dieses Problem in jdk1.9/jdk1.8.152/jdk1.7.161 behoben
Weitere Informationen finden Sie unter die Antwort von @ muttonUp )

157
oldratlee

Ich verwende Intellij Idea 2017 und bin auf dasselbe Problem gestoßen. Was das Problem für mich löste, war einfach

  1. schließen Sie das Projekt in IntelliJ
  2. Datei -> Neu -> Projekt aus vorhandenen Ressourcen
  3. benutze Import von externem Modell (falls vorhanden)
  4. öffnen Sie das Projekt erneut.
12
lnarasimhan

Dies ist mir bei der Installation von Intellij IDEA 2017 passiert. Gehen Sie zum Menü Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Debugger und deaktivieren Sie die Option: "Klassisch erzwingen VM für JDK 1.3. x und früher ". Das funktioniert bei mir.

1
Danny Guo

Ich habe die andere Problemumgehung gefunden: libinstrument.dylib aus dem Projektpfad ausschließen. Gehen Sie dazu zu Preferences -> Build, Execution and Deployment -> Compiler -> Excludes - > + und hier füge die Datei durch den Pfad in der Fehlermeldung hinzu.

0
gasabr

Dies war vor Jahren ein Problem für mich und ich hatte es zuvor in Eclipse behoben, indem ich 1.7 aus meinen Projekten ausgeschlossen hatte, aber es wurde wieder ein Problem für IntelliJ, das ich kürzlich installiert habe. Ich habe es behoben durch:

  1. JDK deinstallieren:

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

    (Ich hatte jdk1.8.0_45.jdk installiert. Natürlich sollten Sie die in diesem Ordner angegebene Java -Version deinstallieren. Die fehlerhaften Dateien befinden sich in diesem Ordner und sollten gelöscht werden.)

  2. JDK 9 herunterladen und installieren .

Beachten Sie, dass Sie beim nächsten Erstellen eines neuen Projekts oder beim Öffnen eines vorhandenen Projekts das Projekt-SDK so einstellen müssen, dass es auf die neue JDK-Installation verweist. Möglicherweise wird dieser Fehler auch weiterhin angezeigt oder es tritt ein Fehler auf, wenn Sie JDK 1.7 in Ihrem JavaVirtualMachines-Ordner installiert haben (was meiner Meinung nach auch mit mir passiert ist).

0
Allison

Gleicher Fehler, ich aktualisiere mein Junit und löse es

org.junit.jupiter:junit-jupiter-api:5.0.0-M6

zu

org.junit.jupiter:junit-jupiter-api:5.0.0
0
Q.Lee