我迁移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