Maven 依赖 bcprov 问题

Maven dependency bcprov issue

我的应用程序中使用了充气城堡依赖项,我希望在 pom.xml 文件中排除此依赖项。即使从 pom 文件中删除此依赖项后,它仍然出现在 m2 存储库文件夹中。我的应用程序是 Spring-MVC 5 框架和 Tomcat 版本 9 上的 运行。部署时有两个不同版本的“bcprov”。我需要从 pom.xml 文件中排除 bcprov-jdk14 和 bcprov-jdk15on。

下面是pom文件中的依赖。

<dependency>
<groupId>bouncycastle</groupId>
<artifactId>bcprov-jdk14</artifactId>
<version>140</version>
</dependency> 

我也尝试了另一个 link 来排除,但它没有用 - Maven Transitive Dependency issue

请帮忙排除上面的依赖

要排除某些传递依赖项,您只需在 POM 文件中添加 <exclusion> 标记。您需要从每个使用它的依赖项中删除 bcprov-jdk14 工件(检查依赖项树),例如:

    <dependency>
      <groupId>com.lowagie</groupId>
      <artifactId>itext</artifactId>
      <version>2.1.7</version>
      <exclusions>
        <exclusion>
          <groupId>bouncycastle</groupId>
          <artifactId>bcmail-jdk14</artifactId>
        </exclusion>
        <exclusion>
          <groupId>bouncycastle</groupId>
          <artifactId>bcprov-jdk14</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.bouncycastle</groupId>
          <artifactId>bcmail-jdk14</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.bouncycastle</groupId>
          <artifactId>bcprov-jdk14</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.bouncycastle</groupId>
          <artifactId>bctsp-jdk14</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

但是请记住添加这些依赖项的正确版本:

  <properties>
    ...
    <bc.version>1.69</bc.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcprov-jdk15on</artifactId>
      <version>${bc.version}</version>
    </dependency>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcmail-jdk15on</artifactId>
      <version>${bc.version}</version>
    </dependency>
  </dependencies>

或者不使用依赖于 BouncyCastle(签名 verification/encryption)的库的功能。