我在大学环境中教授 Java 编程课程。在课程中使用最新的 LTS 版本(Java 11)是有意义的。我们使用 JavaFX 教授用户界面。然而,JavaFX 加上模块系统的组合会产生复杂性,尤其是对于初学者而言。
为了使用 JavaFX,必须有一个module-info.java
看起来像这样的文件:
module MyProject {
// JavaFX must be able to start the application
exports myPackage to javafx.graphics;
// JavaFX modules that we require
requires javafx.base;
requires javafx.controls;
requires javafx.graphics;
}
学生通常为每门课程使用一个 Java 项目。在每门课程中,他们都会从我这里得到很多例子,并且会自己编写更多的程序。这些示例和练习中的每一个都有自己的主类,并且它们被组织成许多不同的包。
问题在于第一条exports
语句:据我所知,每条语句仅适用于单个包,不能使用通配符,也不包括子包。因此,如果我们有一个包含 50 个不同包的 Java 项目,module-info.java
将包含 50个exports
语句。这是一团糟。
也许这看起来微不足道,但对于刚学习编程的人来说,这又是一个障碍。我是否忽略了一些概括exports
以涵盖多个包的方法?或者,是否有人对如何为我的学生简化此问题提出了很好的建议?