Java 9 (jdk-9+170) ne permet pas, par défaut, une application pour voir toutes les classes du JDK, contrairement à toutes les précédentes versions de Java, en raison du nouveau système de module.
Pour contourner ce problème, l' java
de la ligne de commande offre un nouvel argument --add-exports
qui permet de briser l'encapsulation comme suit:
java -jar josm.jar --add-exports java.base/sun.security.util=ALL-UNNAMED --add-exports java.base/sun.security.x509=ALL-UNNAMED
Ceci est bien expliqué dans JEP 261.
J'ai lu sur une option similaire --add-opens
en utilisant la même syntaxe, mais le JEP 261 n'a pas encore été mis à jour pour la décrire (dernière mise à jour: 2017/03/08 13:58).
Quelle est la différence entre ces deux options?
EDIT: La JEP 261 a été mis à jour sur 2017-09-22 de l'expliquer.