自从我从事 Java 编程以来已经有一段时间了,在项目拼图之后,我很惊讶地回到了 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;
}
我发现只要有 Apache POI 代码,我就会在 Eclipse 中收到以下错误
The import cannot be resolved
使用为 Apache POI 创建的自动模块在 module-info.java 中添加以下内容,如下所示,
requires poi;
在 Eclipse 中产生一条警告,指示自动模块不稳定,该模块似乎已被识别,但继续产生无法解决的错误。
我还尝试将主 POI jar 文件放在类路径中,而不是模块路径中,但没有效果。
涉及与 UI 分离的 Apache POI 的代码可以正常工作。我只需删除 module-info.java 的使用,我认为这会将项目置于某种没有模块化的遗留开发模式中?
有人可以告诉我我做错了什么,并指导我使用混合模块化和非模块化库设置一个项目吗?
提前致谢。