Maven依赖关系bcprov问题

2022-05-30 00:00:00 bouncycastle java maven

我在应用程序中使用了弹跳城堡依赖项,我希望在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> 

我还尝试了排除的另一个链接,但不起作用-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(签名验证/加密)的库的功能。

相关文章