2017-10-20 43 views
9

Je migration d'un projet Maven dans Java 8 à un projet Java 9 sans outil de construction en Eclipse OxyGen 1a.Java 9: ​​Module java.xml.bind n'est pas accessible dans Eclipse

Alors mon module-info.java ressemble à ceci:

enter image description here

Mais java.xml.bind n'est pas accessible, bien que son chemin dans mon module:

enter image description here

Alors qu'est-ce qui ne va pas ici?

+2

voir https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j/43574427?noredirect=1#comment80650142_43574427 –

+2

ce module est [obsolète] (https://docs.oracle.com/javase/9/docs/api/java.xml.bind-summary.html). Vous aurez besoin de JAXB en tant que bibliothèque externe. – VGR

+0

@VGR Mais il est disponible en JDK9, il doit donc être disponible dans Eclipse – ZhekaKozlov

Répondre

11

Lors de la compilation d'un module sans nom, java.xml.bind n'est pas accessible par défaut, mais dans un projet modulaire (comme dans cette question) ne pas résoudre la référence au module java.xml.bind était a bug (voir modifier ci-dessous).

Pour contourner ce jusqu'à ce que le bug est corrigé, vous pouvez explicitement inclure Module java.xml.bind par double-cliquez sur Is modular (voir capture d'écran dans la question), et dans la boîte de dialogue qui montre, déplacer le module souhaité Available modules-Explicitly included modules :

Module properties dialog

Modifier: Bug 526054 a été résolu dans Eclipse Oxygen.2, et donc un projet modulaire ne devrait plus ne ed les étapes ci-dessus (qui sont toujours pertinentes pour le code dans un module sans nom, cependant).

+0

Cela m'a beaucoup aidé, merci! – Ulathar