添加 Java 个系统模块以在 Eclipse 中编译
Add Java system modules to compile in 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 中使用 Java9 编译它(使用 Oxygen.1a)。但是我得到 The import javax.activation cannot be resolved
编译错误。
如何告诉 eclipse 编译器添加这些模块?我在 Eclipse documentation 中没有找到任何提示。
Here 你可以找到我正在测试的一个简单的 eclipse 项目。
这些功能的完整文档仍需编写,但已在 New & Noteworthy for Photon M3 (进行中) 中开始。以
开头的段落中提到了您正在寻找的功能
On the Contents tab individual modules inside a container like JRE System Library can be included or excluded by moving the module from left-to-right or vice versa ...
此对话框选项卡结合了 --add-modules
和 --limit-modules
的效果。
编辑:在 Eclipse 2019-06 中,上面提到的 UI 已 revamped. Up-to-date documentation can be found in the online help。
我有一些遗留 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 中使用 Java9 编译它(使用 Oxygen.1a)。但是我得到 The import javax.activation cannot be resolved
编译错误。
如何告诉 eclipse 编译器添加这些模块?我在 Eclipse documentation 中没有找到任何提示。
Here 你可以找到我正在测试的一个简单的 eclipse 项目。
这些功能的完整文档仍需编写,但已在 New & Noteworthy for Photon M3 (进行中) 中开始。以
开头的段落中提到了您正在寻找的功能On the Contents tab individual modules inside a container like JRE System Library can be included or excluded by moving the module from left-to-right or vice versa ...
此对话框选项卡结合了 --add-modules
和 --limit-modules
的效果。
编辑:在 Eclipse 2019-06 中,上面提到的 UI 已 revamped. Up-to-date documentation can be found in the online help。