小编adi*_*zen的帖子

使用 Java 11 在 Eclipse 中混合模块化和非模块化开发

自从我做 Java 编程以来已经有一段时间了,我很惊讶地回到它,因为整个项目对我来说都是陌生的。

我在混合模块化和非模块化环境中使用 Eclipse (2018-09, 4.9.0) 标准 Java 项目时遇到问题。具体来说,我正在尝试使用 Eclipse 平台(没有 Gradle 或 Maven 的基础 Java 项目)结合 JavaFX 11(模块化)和 Apache POI 4.1(非模块化)。

在我的 module-info.java 中,我有以下内容,

module myapp {
        requires javafx.base;
        requires javafx.graphics;
        requires javafx.fxml;
        requires javafx.controls;
        requires javafx.web;

        exports myapp.gui;

        opens myapp.gui to javafx.fxml;
}
Run Code Online (Sandbox Code Playgroud)

我发现无论我在哪里有 Apache POI 代码,我都会在 Eclipse 中收到以下错误

The import cannot be resolved
Run Code Online (Sandbox Code Playgroud)

使用为 Apache POI 创建的自动模块在 module-info.java 中添加以下内容,

        requires poi;
Run Code Online (Sandbox Code Playgroud)

在 Eclipse 中产生一个警告,表明自动模块不稳定,这似乎被识别但继续产生无法解决的错误。

我还尝试将主要的 POI jar 文件放在类路径中,与模块路径相反,但无济于事。

涉及与 UI 分离的 Apache POI 的代码有效。我只需要删除 module-info.java 的使用,我认为它会将项目置于某种没有模块化的遗留开发模式中? …

eclipse modular apache-poi java-11 javafx-11

3
推荐指数
1
解决办法
2400
查看次数

标签 统计

apache-poi ×1

eclipse ×1

java-11 ×1

javafx-11 ×1

modular ×1