2017-09-21 3 views
1

J'essaie désespérément d'obtenir Eclipse oxygène pour exécuter Java 9 sur Mac OS X, mais il me semble en quelque sorte à l'échec.Comment obtenir Eclipse oxygène pour fonctionner sur Java 9

étapes que je l'ai fait jusqu'à présent:

  • installé Java 9 JDK /Library/Java/JavaVirtualMachines/jdk-9.jdk (à côté du déjà installé/Library/Java/JavaVirtualMachines/jdk1 .8.0_144.jdk)

  • installé le "Java 9 support (BETA) pour Oxygen 4.7" plug-in de la place du marché Eclipse (je Oxygen 4.7 pour les développeurs Java EE INSTALLÉ)

  • Ajouté la ligne " --add-modules = java.se.ee "après le -vmar gs ligne eclipse.ini (comme le suggère ici: With java 9 ea, Eclipse fails to install and show error "An error has occurred, see the log file null") pour éviter les problèmes de démarrage

  • Définir le niveau de conformité du compilateur dans les paramètres à « 9 (BETA) »

  • Ajouté le SDK Java 9 à l'installation JREs et fait le choix par défaut

maintenant, au démarrage de mon programme, j'imprimer toutes les valeurs System.getProperty(). Et je reçois par exemple

  • java.runtime.version: 1.8.0_144-B01

  • java.specification.version: 1,8

  • java.vm.specification.version: 1,8

  • java.version: 1.8.0_144

Pourquoi ?! Que peut-on faire d'autre pour dire à Eclipse qu'il ne faut pas utiliser Java 8 mais Java 9 pour les dieux?

Une raison pour laquelle j'ai besoin de Java 9 est la nouvelle fonctionnalité de sécurité OCSP agrafer pour TLS (voir https://docs.oracle.com/javase/9/security/java-pki-programmers-guide.htm#JSSEC-unique_4307382).

Il est la propriété du système "jdk.tls.server.enableStatusRequestExtension" qui, lorsqu'il est actuellement interrogé, retourne "null", mais il doit retourner "false" avec Java 9: ​​

getLogger().debug("enableStatusRequestExtension: " + System.getProperty("jdk.tls.server.enableStatusRequestExtension")); 

J'espère que vous peut m'aider ici.

+0

Avez-vous sélectionné environnement d'exécution? (Exécuter -> Exécuter les configurations ... -> Principal -> Environnement d'exécution -> JavaSE-1.9) – ZhekaKozlov

+1

Avez-vous vraiment besoin de _run_ Eclipse sur Java 9? Ne suffirait-il pas d'utiliser JDK 9 pour construire votre projet? – Nicolai

+0

Si @Marc souhaite développer dans JDK 9, il est nécessaire d'avoir le support dans Eclipse ... – khmarbaise

Répondre

1

Pour exécuter votre programme en utilisant Java 9 procédez comme suit:

Ouvrez les Préférences et allez à «Java> JRE installés. Ajoutez le Java 9 JDK s'il est manquant.

Dans les propriétés du projet Java sélectionnez l'entrée « chemin de génération Java » et choisissez l'onglet « Bibliothèques ». Modifiez l'entrée 'JRE System Library' et choisissez Java 9 JDK ou un environnement d'exécution Java 9.

Vous devez aussi regarder la 'Run Configuration' pour votre programme ('Run> Run Configurations'). Vérifiez que le paramètre JRE est 'Environnement d'exécution du projet' ou un environnement Java 9 JDK/Execution.

+0

Merci, éditer l'entrée 'JRE System Library' ainsi que les configurations de Run résolvait mon problème. Toutefois, pour une raison étrange, la propriété "jdk.tls.server.enableStatusRequestExtension" renvoie toujours "null". – Marc

0

Après avoir installé Java 9, ces étapes a fonctionné pour moi:

  • Cliquez droit sur le projet et sélectionnez l'onglet « Configurer le chemin de compilation »
  • Sélectionnez la « Bibliothèques » en haut. Si jre8 est toujours là, sélectionnez-le et appuyez sur Supprimer dans les onglets sur la droite.
  • Sélectionnez "Ajouter une bibliothèque" puis "Bibliothèque système JRE" dans la liste Select jre9.
  • Vérifiez que « l'environnement d'exécution est l'utilisation JRE9 comme le montre l'image
  • Appliquer et fermer

Après avoir fait vérifier les eclipse.ini fil à ~\eclipse\jee-oxygen\eclipse\eclipse.ini et assurez-vous qu'il n'y a pas d'option -vm il si elle est. , supprimez l'option entière et le chemin JRE à savoir:. -vm. C:/Program Files/Java/jre1.8.0_151/bin Cela entraînera Eclipse pour comprendre la

version Java à utiliser enter image description here

.

enter image description here

enter image description here