我有一个多模块maven项目,包含三个模块core,utils和test-utils
Core具有以下依赖项定义
my.project
utils
my.project
test-utils
test
我为所有三个模块添加了Java 9 module-info.java定义,核心的内容如下所示:
module my.project.core {
requires my.project.utils;
}
但是我无法弄清楚如何让核心的测试类能够在测试执行期间看到test-utils类.当maven-surefire-plugin尝试测试运行时,我找不到类.
如果我添加一个需要my.project.testutils;到core的module-info.java:
module my.project.core {
requires my.project.utils;
requires my.project.testutils; //test dependency
}
然后在编译时我得到一个错误,无法找到my.project.testutils模块(可能是因为它只是作为测试依赖项引入).
如何在Java 9模块化世界中使用测试依赖项?出于显而易见的原因,我不希望我的主代码引入测试依赖项.我错过了什么吗?