首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加要在Eclipse中编译的Java系统模块

添加要在Eclipse中编译的Java系统模块
EN

Stack Overflow用户
提问于 2017-10-17 14:16:13
回答 1查看 5.8K关注 0票数 8

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

代码语言:javascript
复制
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来用Java9编译它。

代码语言:javascript
复制
$ 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

为了能够成功编译,我需要添加我正在使用的模块:

代码语言:javascript
复制
$ javac org/test/OldClass.java --add-modules=java.activation,java.xml.ws.annotation

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

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-22 09:37:32

这些特性的完整文档仍然需要编写,但是新的和值得注意的光子M3 (正在进行中的工作)已经开始了。您所要寻找的功能在以

在Content选项卡上,像JRE系统库这样的容器中的各个模块可以通过将模块从左向右移动或从左向右移动而被包括或排除.

此对话框选项卡结合了--add-modules--limit-modules的效果。

编辑:在Eclipse2019-06中,上面提到的UI是改版。最新的文档可以在在线帮助中找到.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46792354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档