自从我做 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 的使用,我认为它会将项目置于某种没有模块化的遗留开发模式中? …