我遷移Maven項目的Java 8到的Java 9項目沒有任何Eclipse OxyGen 1a
構建工具。Java的9:模塊java.xml.bind是無法訪問在Eclipse
所以我module-info.java看起來是這樣的:
但java.xml.bind是無法訪問的,雖然它在我的模塊路徑:
那麼這裏有什麼問題?
我遷移Maven項目的Java 8到的Java 9項目沒有任何Eclipse OxyGen 1a
構建工具。Java的9:模塊java.xml.bind是無法訪問在Eclipse
所以我module-info.java看起來是這樣的:
但java.xml.bind是無法訪問的,雖然它在我的模塊路徑:
那麼這裏有什麼問題?
當編譯一個無名模塊,java.xml.bind
是不是默認訪問,但在一個模塊化的項目失敗(在這個問題)來解決參考模塊java.xml.bind
爲
a bug
(見下面編輯)。
要解決這一點,直到錯誤是固定的,你可以明確地包括Is modular
模塊java.xml.bind
通過雙擊(見問題截圖),並顯示在對話框中,將所需的模塊從Available modules
到Explicitly included modules
:
編輯:
Bug 526054
已經在Eclipse Oxygen.2得到解決,因此,模塊化的項目應該不再NE編輯上述步驟(儘管如此,它仍然與未命名模塊中的代碼相關)。
這幫了我很多,謝謝! – Ulathar
看到https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j/43574427?noredirect=1#comment80650142_43574427 –
該模塊[已棄用](https://docs.oracle.com/javase/9/docs/api/java.xml.bind-summary.html)。您需要將JAXB作爲外部庫。 – VGR
@VGR但它在JDK9中可用,所以它必須在Eclipse中可用 – ZhekaKozlov