模块从两者读取包

Module reads package from both

我发现了一些与我的问题类似的东西,但它与 maven 无关 gradle:

我最终决定在现有项目中开始使用 java 中的新模块系统。我创建了一个模块-info.java,其中包含:

requires com.sothawo.mapjfx;
requires MaterialFX;
requires thymeleaf;
requires org.apache.httpcomponents.httpclient;
requires com.fasterxml.jackson.databind;
requires org.apache.httpcomponents.httpcore;
requires bugsnag;
requires org.jfxtras.styles.jmetro;
requires org.slf4j;
requires javafx.swing;
requires itext;
requires flying.saucer.pdf;

还有我的build.gradle:

dependencies {
implementation ('io.github.palexdev:materialfx:11.13.0') {
    exclude group: 'org.openjfx'
}

implementation ('org.jfxtras:jmetro:11.6.15') {
    exclude group: 'org.openjfx'
}

implementation 'org.thymeleaf:thymeleaf:3.1.0.M1'
implementation 'org.xhtmlrenderer:flying-saucer-pdf:9.1.22'

implementation 'com.fasterxml.jackson.core:jackson-core:2.13.1'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.1'
implementation 'org.apache.httpcomponents:httpclient:4.5.13'

implementation 'org.slf4j:slf4j-api:1.7.36'
implementation 'org.slf4j:slf4j-simple:1.7.36'

implementation 'com.bugsnag:bugsnag:3.6.3'

implementation 'com.sothawo:mapjfx:3.1.0'

testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
}

我每次尝试构建时都会遇到此类错误:

module ChanceTracker.main reads package org.bouncycastle.tsp.cms from both bctsp.jdk14 and org.bouncycastle.pkix

error: the unnamed module reads package org.xhtmlrenderer.simple from both flying.saucer.pdf and flying.saucer.core

(以及其他一些似乎关系密切的人)

运行 依赖项显示了这一点(此处仅显示相关部分):

+--- org.xhtmlrenderer:flying-saucer-pdf:9.1.22
|    +--- com.lowagie:itext:2.1.7
|    +--- org.bouncycastle:bcmail-jdk14:1.64
|    |    +--- org.bouncycastle:bcprov-jdk14:1.64
|    |    \--- org.bouncycastle:bcpkix-jdk14:1.64
|    |         \--- org.bouncycastle:bcprov-jdk14:1.64
|    +--- org.bouncycastle:bctsp-jdk14:1.46
|    |    +--- org.bouncycastle:bcprov-jdk14:1.46 -> 1.64
|    |    \--- org.bouncycastle:bcmail-jdk14:1.46 -> 1.64 (*)
|    +--- org.bouncycastle:bcprov-jdk14:1.64
|    \--- org.xhtmlrenderer:flying-saucer-core:9.1.22

我很少尝试 gradle,但我在我的依赖项中尝试了不同的 'excludes',但没有成功。

固定为

implementation ('org.xhtmlrenderer:flying-saucer-pdf:9.1.22') {
    exclude group: 'org.bouncycastle'
    exclude group: 'org.xhtmlrenderer'
}