web-dev-qa-db-fra.com

Java Mission Control from JDK 1.8.0_161 figé au démarrage sur Mac OS X

J'essaie de lancer Java Mission Control comme fourni dans le JDK 1.8.0_161 sur Mac OS X High Sierra (10.13.2, avec mise à jour supplémentaire de janvier 2018) et l'application JMC est gelée , c'est-à-dire que je ne peux pas naviguer dans le panneau du navigateur JVM.

Comme j'ai installé d'autres anciens JDK, j'ai donc vérifié JMC avec les versions suivantes avec succès:

  • 1.8.0_121
  • 1.8.0_144
  • 1.8.0_151

Le problème est donc très spécifique au JDK 1.8.0_161.

(Pour voir vos JDK, exécutez la commande /usr/libexec/Java_home -V)

(Pour exécuter un ancien JMC, c'est-à-dire /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/jmc)

En guise de vérification latérale, j'ai exécuté avec succès la JMC du JDK 1.8.0_161 sur Windows 10.

Vous rencontrez donc le même problème?

Y a-t-il des paramètres pour Tweak pour le faire fonctionner? (Par exemple, s'agirait-il d'un problème lié à Mac OS X Gatekeeper!?)

Et comment le signaler correctement à Oracle ... J'ai cherché dans leur base de données de bogues sans succès, et quand j'essaye de soumettre un bogue, je ne peux pas déterminer quelle serait la bonne sous-catégorie (cf https: // bugreport .Java.com/submit_intro.do ), car JMC n'est pas répertorié dans la section OUTILS ... Un conseil!?

20
Zenobe

Il s'agit malheureusement d'un bug que nous avons récemment découvert, causé par des incompatibilités entre les anciennes versions d'Eclipse/SWT et les nouveaux correctifs effectués dans JDK 8u152 (rétroporté depuis JDK 9).

La solution consiste à exécuter l'ancienne version de JDK 8 ou la dernière version de JDK 7 (qui inclut la même version de JMC). JDK 9 fonctionne également, avec le nouveau JMC 6 inclus.

Référence de bogue (Oracle Internal): JMC-5139

23
Klara

Il existe une solution de contournement pour cela, comme mentionné par @jwatkins dans un commentaire.

  1. Téléchargez le pot de cacao swt depuis ici .
  2. Accédez au chemin jmc JDK (vous pouvez trouver ce chemin en cliquant avec le bouton droit sur l'icône jmc dans le dock -> Options -> Afficher dans le Finder, puis cliquez avec le bouton droit sur l'application -> Afficher le contenu du package).

    • Par exemple: cd /Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home/lib/missioncontrol
  3. Sauvegardez le fichier existant à l'aide de Sudo mv plugins/org.Eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar ../

  4. Copiez le fichier swt.jar de Zip téléchargé à l'aide de Sudo cp ~/Downloads/swt.jar plugins/org.Eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar
  5. Redémarrez jmc

[~ # ~] note [~ # ~] : N'oubliez pas! le nom de votre nouveau fichier jar copié doit être exactement comme l'ancien (il utilise OSGi bundles.info pour charger les jars)

32
Rasika Perera

J'ai eu le même problème et si cela ne vous dérange pas d'utiliser Eclipse, vous pouvez installer ce plugin: https://marketplace.Eclipse.org/content/Java-mission-control .

Mais comme la réponse acceptée de Klara j'ai finalement réussi à exécuter Java Mission Control (pas la toute dernière version, mais elle me débloque toujours sans grande solution)):

  1. Télécharger ne ancienne version JDK (J'ai pris le Java SE Development Kit 8u91)
  2. Je l'ai placé dans mon référentiel/Library/Java/JavaVirtualMachines. Je n'ai pas changé mes variables d'environnement car je veux continuer à utiliser une version plus récente.
  3. J'ai lancé l'application placée dans jdk1.8.0_91.jdk/Contents/Home/lib/missioncontrol/Java Mission Control.app
3
Antoine Martin

Il s'agit d'un problème connu selon le site officiel. Et ils ne semblent rien faire depuis janvier 2018.

https://www.Oracle.com/technetwork/Java/javase/jmc55-release-notes-2412446.html#known-iss

Cela mentionne trois solutions mais j'ai suivi la réponse de @Rasika Perera pour résoudre ce problème sur JDK 1.8.0_202

0
abbas