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

2019-01-07 21:53发布

问题:

I migrating a maven project in Java 8 to a Java 9 project without any build tool in Eclipse OxyGen 1a.

So my module-info.java looks like this:

But java.xml.bind is not accessible, although its in my module path:

So what is wrong here?

回答1:

When compiling an unnamed module, java.xml.bind is not accessible by default, but in a modular project (as in this question) failing to resolve reference to module java.xml.bind was a bug (see edit below).

To work around this until the bug is fixed, you can explicitly include module java.xml.bind by double click on Is modular (see screenshot in the question), and in the dialog that shows, move the desired module from Available modules to Explicitly included modules:

Edit: Bug 526054 has been resolved in Eclipse Oxygen.2, and thus a modular project should no longer need the steps above (which are still relevant for code in an unnamed module, though).