我正在研究基于Java 11 + Gradle 6.6.1的多模块项目。 该项目高度依赖Bouncy Castle和Junit。
模块1
build.gradle
dependencies {
implementation 'org.bouncycastle:bcpkix-jdk15on:1.66'
implementation 'org.bouncycastle:bcprov-jdk15on:1.66'
.
.
.
}
module-info.java
requires org.bouncycastle.pkix;
requires org.bouncycastle.provider;
模块2
build.gradle
dependencies {
implementation 'org.bouncycastle:bcpkix-jdk15on:1.66'
implementation 'org.bouncycastle:bcprov-jdk15on:1.66'
.
.
implementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
implementation 'org.junit.jupiter:junit-jupiter-params:5.7.0'
implementation 'org.junit.platform:junit-platform-engine:1.7.0'
implementation 'org.junit.platform:junit-platform-launcher:1.7.0'
implementation 'org.junit.platform:junit-platform-commons:1.7.0'
implementation 'org.junit.vintage:junit-vintage-engine:1.7.0'
.
.
implementation 'module1'
}
module-info.java
requires module1
requires org.bouncycastle.pkix;
requires org.bouncycastle.provider;
requires org.junit.jupiter.api;
requires org.junit.jupiter.params;
requires org.junit.platform.engine;
requires org.junit.platform.launcher;
requires org.junit.platform.commons;
还有一个模块3,其中包含应用程序代码,并且依赖于模块1和2。
当我对模块3做gradlew run
时,应用程序启动正常。
但是,当我从Intellij运行时,我看到以下错误之一:
java.lang.module.FindException: Module org.junit.jupiter.params not found, required by module2
java.lang.module.FindException: Module org.bouncycastle.provider not found, required by module1
java.lang.module.FindException: Module org.bouncycastle.pkix not found, required by module1
将对如何改进项目的任何建议表示感谢。