【发布时间】:2018-09-19 07:40:41
【问题描述】:
我想通过使用 Java 模块(由 Project Jigsaw 引入)来模块化一个单体应用程序。
不幸的是,我目前坚持使用 Java 8。无论如何我都想构建这些模块(jar 文件),但没有使用 module-info.java 文件来声明依赖项和导出 API 的功能。
几周前,我偶然发现了一个 API/框架,它允许定义几乎与您可以在 module-info.java 文件中执行的相同操作。它可以在 JUnit 测试中使用,以强制模块不使用另一个模块的内部,并且该模块只能访问它们显式依赖的模块。
当然,您不需要编译器或 IDE 提供任何帮助,但您可以强制通过 JUnit 进行访问。不幸的是,我再也找不到提供 API 的项目了。
谁能帮忙?
顺便说一句。如果除了单元测试还有其他好的方法,也请告诉我!
【问题讨论】:
-
所以你想要没有 java-9 的模块化?假设它是如何工作的?
-
Stackoverflow 不是软件查找服务。此外,模块化并不像 Java 9 那样新。只需在您喜欢的 IDE 中创建多个项目并配置它们之间的依赖关系。任务完成。如果要在运行时强制执行,可以使用 OSGi。当您使用 Eclipse 时,自然会选择 Equinox,它已经内置,因此得到很好的支持,顺便说一下,已有十多年的历史了。
标签: junit java-8 java-9 java-platform-module-system module-info