En dehors de la compréhension de l'accès entre les modules et les paquets. Je crois que le cœur du problème réside dans le Système de Module#Détendu-fort-encapsulation et je voudrais juste écrémer les parties pertinentes de la peine d'essayer et de répondre à la question.
Ce qui définit un illégales réfléchissant accès et quelles circonstances
déclencher l'alerte?
Pour de l'aide dans la migration vers Java9, la forte encapsulation des modules pourraient être assouplies.
Une mise en œuvre peut fournir statique d'accès, c'est à dire par le code compilé.
Peut fournir un moyen d'invoquer son système d'exécution avec un ou plusieurs paquets d'un ou de plusieurs de ses modules ouverts à code dans tous les modules sans nom, c'est à dire à code sur le chemin de la classe. Si le système d'exécution est appelé de cette façon, et si, ce faisant, certaines invocations de la réflexion Api de réussir là où ils ont échoué.
Dans de tels cas, vous avez fini par faire un réfléchissant accès qui est "illégal" car, dans un pur monde modulaire vous n'étiez pas censé faire ces accès.
Comment tout cela se tient et ce qui déclenche l'alerte en ce qui
scénario?
Cette relaxation de l'encapsulation est contrôlée à l'exécution, par un nouveau lanceur option --illegal-access
qui, par défaut, dans Java9 est égal à permit
. L' permit
mode veille
La première réflexion opération d'accès à un tel paquet provoque une
avertissement afin d'être émis, mais pas d'avertissements sont émis à partir de ce point.
Ce simple avertissement décrit comment activer d'autres avertissements. Cette
avertissement ne peut pas être supprimé.
Les modes sont configurables avec les valeurs de debug
(message ainsi que stacktrace pour chaque accès), warn
"(message pour chacun de ces accès) et deny
(désactive ces opérations).
Peu de choses à déboguer et fixer sur les applications seraient les suivantes:-
Questions pour un échantillon d'avertissement: = JDK9: Un illégales réfléchissant accès opération a eu lieu. org.python.de base.PySystemState
Dernier et il est important de noter, tout en essayant de s'assurer que vous n'avez pas face à de telles mises en garde et sont avenir sûr, tout ce que vous devez faire est de vous assurer que vos modules ne sont pas ceux illégale réfléchissant accès. :)