我目前正在测试使用 jdk-9+149 将 Java 8 应用程序迁移到 Java 9 / Jigsaw。
该项目已按标准 Maven 目录布局进行布局,即有src/main/java
,src/test/java
等。
一旦我添加module-info.java
到src/main/java
,maven-compiler-plugin 就会失败并抛出 NullPointerException。这是因为它也希望找到test
目录的模块信息。所以,据我所知,选项是:
- 将测试类保存在单独的模块中,这意味着它们只能访问主模块的导出包。
- 将测试类连同源一起移动到主模块中,这意味着主模块需要测试依赖项。
显然,这些选项似乎都不是可取的,所以我认为有一种推荐的方法可以在 Maven 项目中测试 Jigsaw 模块。不幸的是,我既找不到建议也找不到例子。
编辑:添加一些我在发布问题时不认为相关的信息(对不起)
- 我遇到的 NullPointerException
- Maven 3.3.9
- maven 编译器插件 3.6.0
- 源和目标配置:9