2017-10-20 109 views
9

I migrowania projektu maven w Java 8 do Java 9 projektu bez narzędzia budować w Eclipse OxyGen 1a.Java 9: ​​Moduł java.xml.bind nie jest dostępny w Eclipse

Więc moja module-info.java wygląda następująco:

enter image description here

Ale java.xml.bind nie jest dostępny, chociaż jej w mojej ścieżce modułu:

enter image description here

Co jest nie tak?

+2

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

+2

tego modułu jest [przestarzałe] (https://docs.oracle.com/javase/9/docs/api/java.xml.bind-summary.html). Będziesz potrzebował JAXB jako biblioteki zewnętrznej. – VGR

+0

@ VGR Ale jest dostępny w JDK9, więc musi być dostępny w Eclipse – ZhekaKozlov

Odpowiedz

11

Podczas kompilacji modułu nienazwany, java.xml.bind nie jest dostępna domyślnie, ale w modułowego projektu (jak w tej kwestii) w przypadku braku rozwiązać odniesienia do modułu java.xml.bind był a bug (patrz Edycja).

Aby obejść ten problem, aż problem został rozwiązany, można wyraźnie obejmują moduł java.xml.bind poprzez dwukrotne kliknięcie na Is modular (patrz zrzut ekranu w pytaniu), w oknie dialogowym, które pokazuje, przenieść żądany moduł z Available modules do Explicitly included modules :

Module properties dialog

Edit: Bug 526054 został rozwiązany w Eclipse Oxygen.2, a tym samym modułowy projekt nie powinien być dłuższy ne ed kroki powyżej (które są nadal istotne dla kodu w module bez nazwy).

+0

Bardzo mi to pomogło, dzięki! – Ulathar