Gradle Java模块-在测试另一个模块的实现时使用一个模块中的代码

Gradle Java模块-在测试另一个模块的实现时使用一个模块中的代码,gradle,java-11,Gradle,Java 11,我用Java11、Spring Boot和Gradle以及Kotlin DSL建立了一个项目。我还使用了org.javamodularity.moduleplugin 我的项目中有三个模块:module1(应用程序的主代码)、module2(用于实现的公共类库)和module3(用于测试实现所需的公共类库)。模块1没有看到模块3,我在测试实现中使用了模块3 我将模块信息文件添加到Gradle文件中的模块和依赖项中。当我在module1中使用module2时,一切都很完美。模块1查看并读取模块2中

我用Java11、Spring Boot和Gradle以及Kotlin DSL建立了一个项目。我还使用了
org.javamodularity.moduleplugin

我的项目中有三个模块:module1(应用程序的主代码)、module2(用于实现的公共类库)和module3(用于测试实现所需的公共类库)。模块1没有看到模块3,我在测试实现中使用了模块3

我将模块信息文件添加到Gradle文件中的模块和依赖项中。当我在module1中使用module2时,一切都很完美。模块1查看并读取模块2中的所有类。 我也做了同样的事情,使模块1的模块3可见。不幸的是,它不起作用

模块1的模块信息:

module module1 {
    requires module2;
   //requires module3; <-not working
}
   implementation(project(":module2"))
   testImplementation(project(":module3"))
模块3的模块信息:

module module3 {
    exports module3.mypackage;
}
settings.gradle.kts:

include("module1", "module2", "module3")
在Gradle中运行测试后,我得到错误:
错误:包module3.mypackage不可见
(包module3.mypackage在模块module3中声明,但模块module1不读取它)

当我取消注释时,行
需要模块3我得到:
错误:未找到模块:模块3

我错过了什么? 在module1测试实现中,我应该如何运行来自module3的代码