2017-10-20 49 views
9

遷移Maven項目的Java 8的Java 9項目沒有任何Eclipse OxyGen 1a構建工具。Java的9:模塊java.xml.bind是無法訪問在Eclipse

所以我module-info.java看起來是這樣的:

enter image description here

但java.xml.bind是無法訪問的,雖然它在我的模塊路徑:

enter image description here

那麼這裏有什麼問題?

+2

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

+2

該模塊[已棄用](https://docs.oracle.com/javase/9​​/docs/api/java.xml.bind-summary.html)。您需要將JAXB作爲外部庫。 – VGR

+0

@VGR但它在JDK9中可用,所以它必須在Eclipse中可用 – ZhekaKozlov

回答

11

當編譯一個無名模塊,java.xml.bind是不是默認訪問,但在一個模塊化的項目失敗(在這個問題)來解決參考模塊java.xml.bind a bug (見下面編輯)

要解決這一點,直到錯誤是固定的,你可以明確地包括Is modular模塊java.xml.bind通過雙擊(見問題截圖),並顯示在對話框中,將所需的模塊從Available modulesExplicitly included modules

Module properties dialog

編輯 Bug 526054 已經在Eclipse Oxygen.2得到解決,因此,模塊化的項目應該不再NE編輯上述步驟(儘管如此,它仍然與未命名模塊中的代碼相關)

+0

這幫了我很多,謝謝! – Ulathar