Java 9: 在 Eclipse 中无法访问模块 java.xml.bind

Java 9: Module java.xml.bind is not accessible in Eclipse

我将 Java 8 中的 maven 项目迁移到 Java 9 项目,没有任何构建工具在 Eclipse OxyGen 1a.

所以我的 module-info.java 看起来像这样:

但是 java.xml.bind 不可访问,尽管它在我的模块路径中:

那么这里出了什么问题?

编译未命名模块时,默认情况下无法访问 java.xml.bind,但在模块化项目中(如本问题)未能解析对模块 java.xml.bind 的引用是 a bug (见下方编辑).

要在错误修复之前解决此问题,您可以通过双击 Is modular 显式 include 模块 java.xml.bind(请参阅问题中的屏幕截图),并在显示的对话框中,将所需模块从 Available modules 移动到 Explicitly included modules:

Edit: Bug 526054 已在 Eclipse Oxygen.2 中解决,因此不再需要模块化项目上面的步骤 (但仍然与未命名模块中的代码相关).

编辑 2:在 Eclipse 2019-06 中,上述任务的 UI 已 revamped. Up-to-date documentation can be found in the online help.