308 votes

La classe JavaLaunchHelper est implémentée à deux endroits

Aujourd'hui, j'ai mis à niveau mon idée Intellij Idea sur macOS Sierra et maintenant, lorsque j'exécute des applications dans la console, le message d'erreur suivant s'affiche:

objc [3648]: La classe JavaLaunchHelper est implémentée à la fois dans /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java (0x10d19c4c0) et /Library/Java/Java/JavirtualMachines/jdk1.0.0_d. Table des matières / Accueil / jre / lib / libinstrument.dylib (0x10ea194e0). Un des deux sera utilisé. Lequel n'est pas défini.

496voto

CrazyCoder Points 103123

Vous pouvez trouver tous les détails ici:

  • IDÉE-170117 "objc: Classe JavaLaunchHelper est mis en œuvre dans les deux ..." avertissement dans la course des consoles

C'est le vieux bug de Java sur Mac qui ai déclenché par le Java Agent utilisé par l'IDE lors du démarrage de l'application. Ce message est inoffensif et qu'il est sûr d'ignorer. Oracle developer commentaire:

Le message est bénigne, il n'y a pas d'impact négatif de ce problème depuis deux copies de cette classe sont identiques (compilé à partir de la exact même source). C'est purement une question d'esthétique.

Le problème est résolu en Java 9 et dans Java 8 update 152.

Si elle vous ennuie, ou affecte vos applications en quelque sorte (il ne devrait pas), la solution de contournement pour IntelliJ IDEA est de désactiver idea_rt lanceur de l'agent par l'ajout d' idea.no.launcher=true en idea.properties (Help | Edit Custom Properties...). La solution de contournement prendra effet au prochain redémarrage de l'IDE.

Je ne recommande pas la désactivation de IntelliJ IDEA lanceur de l'agent. Il est utilisé pour des fonctionnalités telles que la fermeture en douceur (bouton Quitter), le fil des décharges, des solutions de contournement d'un problème avec un trop long de la ligne de commande dépassant les OS de limites, etc. La perte de ces fonctions juste pour le plaisir de cacher le inoffensifs message est probablement pas la peine, mais c'est à vous.

194voto

oldratlee Points 11

Depuis "ce message est inoffensif"(voir l' @CrazyCoder de réponse), un simple et sûre solution de contournement est que vous pouvez plier cette bourdonnement message dans la console par IntelliJ IDEA paramètres:

  1. 【Préférences】- 【Éditeur】-【Général】-【Console】- 【Fois les lignes de console qui contiennent】
    Bien sûr, vous pouvez utiliser 【Trouver d'Action...】(cmd+shift+A sur mac) et tapez Fold console lines that contain afin de naviguer plus efficacement.
  2. ajouter Class JavaLaunchHelper is implemented in both

image

Sur mon ordinateur, Il s'avère: (LGTM :b )

image

Et vous pouvez déplier le message pour vérifier à nouveau:

image

PS:

En octobre 2017, ce problème est maintenant résolu en jdk1.9/jdk1.8.152/jdk1.7.161
pour plus d'info, voir le @muttonUp réponse)

13voto

lnarasimhan Points 125

J'utilise Intellij Idea 2017 et je suis confronté au même problème. Ce qui a résolu le problème pour moi était de simplement

  1. fermer le projet dans intelliJ
  2. Fichier -> Nouveau -> projet à partir de ressources existantes
  3. utilisez Import depuis un modèle externe (le cas échéant)
  4. ouvrez le projet à nouveau.

1voto

Danny Guo Points 35

Cela m'est arrivé lorsque j'ai installé Intellij IDEA 2017, allez dans le menu Préférences -> Construire, Exécution, Déploiement -> Débogueur et désactivez l'option: "Force Classic VM pour JDK 1.3.x et versions antérieures". Cela fonctionne pour moi.

0voto

Q.Lee Points 1

Même erreur, je mets à jour mon Junit et le résous

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

à

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X