我在大学教授Java编程课程。在课程中使用最新的LTS版本(Java11)是有意义的。我们使用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
方式?或者,有没有人有好的建议可以简化这个问题给我的学生?