从Intellij运行时出错:java.lang.module.FindException:找不到模块org.bouncycastle.provider

时间:2020-10-04 05:25:03

标签: java intellij-idea junit module bouncycastle

我正在研究基于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

将对如何改进项目的任何建议表示感谢。

0 个答案:

没有答案