添加java 9系统模块在eclipse中编译

我有一些遗留的Java代码,即:

package org.alo.test.j9; import javax.activation.DataHandler; // in java.activation module import javax.annotation.PostConstruct; // in java.xml.ws.annotation module public class OldClass { public static void main(String[] args) { DataHandler dh = new DataHandler(null, null); System.out.println(dh); } } 

这尚未模块化,因此需要使用--add-modules来使用Java 9进行编译。

 $ javac -version javac 9 $ javac org/alo/test/j9/OldClass.java src/org/alo/test/j9/OldClass.java:3: error: package javax.activation is not visible import javax.activation.DataHandler; // in java.activation module ^ (package javax.activation is declared in module java.activation, which is not in the module graph) src/org/alo/test/j9/OldClass.java:4: error: package javax.annotation is not visible import javax.annotation.PostConstruct; // in java.xml.ws.annotation module ^ (package javax.annotation is declared in module java.xml.ws.annotation, which is not in the module graph) 2 errors 

我需要添加我正在使用的模块才能成功编译:

 $ javac org/test/OldClass.java --add-modules=java.activation,java.xml.ws.annotation 

我想在Eclipse中使用Java 9(使用Oxygen.1a)编译它。但是我得到The import javax.activation cannot be resolved编译错误。

如何告诉eclipse编译器添加这些模块? 我没有在Eclipse文档中找到任何有关它的提示。

在这里你可以找到我正在测试的一个简单的eclipse项目。

这些function的完整文档仍然需要编写,但新的&值得关注的Photon M3 (正在进行中)已经开始 。 您要查找的function在以。开头的段落中提到

在“内容”选项卡上,可以通过从左到右移动模块来包含或排除容器(如JRE系统库)中的各个模块,反之亦然……

此对话框选项卡结合了--add-modules--limit-modules