我有一些遗留的
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)编译它.但是我得到导入javax.activation无法解决编译错误.
如何告诉eclipse编译器添加这些模块?我在Eclipse documentation没有找到任何关于它的提示.