我在大学环境中教授 Java 编程类(class)。在类(class)中使用最新的 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;
}
学生通常为每门类(class)使用一个 Java 项目。在每门类(class)中,他们都会从我这里得到很多例子,并且会自己编写更多的程序。这些示例和练习中的每一个都有自己的主类,并且它们被组织成许多不同的包。
问题是第一个
exports
声明:据我所知,每条声明仅适用于单个包,不能使用通配符,也不包括子包。因此,如果我们有一个包含 50 个不同包的 Java 项目,module-info.java
将包含五十个 exports
陈述。这是一团糟。也许这看起来微不足道,但对于刚学习编程的人来说,这又是一个障碍。我是否忽略了一些概括的方法
exports
涵盖多个包裹?或者,是否有人对如何为我的学生简化此问题提出了很好的建议?
最佳答案
不确定这是否有帮助,但我开始了一个模块项目
GitHub。由于您的问题没有得到回答,我会问您是否发现好
方法来做到这一点。
我的设置在 Github。
纯 Java,带有 GitHub 操作来帮助创建 jar 。
https://github.com/disparter/java-snippets
Since I use only one repository, it is easy to share even with many modules. I usually use Discord to discuss and some relevant content I put in a dev notes file but it is in Portuguese.
就我而言,我做两件事。
OBS
Think in java modules for small pieces. If you want to handle bigger projects is nice to use Gradle or Maven for those. It is interesting in an educational way when dependency problems happen. If you think there are too many modules to import, you can create a module that can be used as a Layer to help import common things.
关于java - 在教育环境中使用 Java 模块系统的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57052932/