Gradle Java模块-在测试另一个模块的实现时使用一个模块中的代码
我用Java11、Spring Boot和Gradle以及Kotlin DSL建立了一个项目。我还使用了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中
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的代码