当前位置: 首页 > 知识库问答 >
问题:

maven依赖bcprov问题

洪博涛
2023-03-14

我的应用程序中使用了弹性城堡依赖项,我希望在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传递依赖关系问题

请帮助排除上述依赖项。

共有1个答案

融伯寅
2023-03-14

要排除一些传递依赖项,您只需添加

    <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>

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

xml prettyprint-override">  <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(签名验证/加密)的库的功能。

 类似资料:
  • 主要内容:依赖声明,获取依赖坐标Maven 是一款优秀的依赖管理工具,那么什么是依赖呢? 通俗的说,如果一个 Maven 构建所产生的构件(例如 Jar 文件)被其他项目引用,那么该构件就是其他项目的依赖。 依赖声明 Maven 坐标是依赖的前提,所有 Maven 项目必须明确定义自己的坐标,只有这样,它们才可能成为其他项目的依赖。当一个项目的构件成为其他项目的依赖时,该项目的坐标才能体现出它的价值。 当 Maven 项目需要声

  • 我想知道以下jar的所有传递依赖项: 将经典命令移动到pom。项目定义依赖关系和输入的xml: mvn依赖:树 将显示: 我没看到魔咒父母: 乍一看,mvn命令似乎可以显示非pom类型的依赖项。 有没有一种方法可以精确地显示使jar保持活动状态所需的每个文件? 谢谢

  • 我正在使用IntelliJ13.5.1,我不了解maven的同步机制。我们将日志机制从logback切换到log4j。当我从pom中移除logback依赖项时,这些依赖项从maven中移除,而不是从项目中移除,即使我尝试重新导入maven模块。换句话说,IntelliJ正确地同步新库的添加,但不同步删除。 是这个IntelliJ版本的bug吗? 注意:当我从pom中移除依赖项时,jar仍然出现在生

  • 我的Junit示例类是

  • 主要内容:排除依赖,可选依赖,排除依赖 VS 可选依赖 我们知道 Maven 依赖具有传递性,例如 A 依赖于 B,B 依赖于 C,在不考虑依赖范围等因素的情况下,Maven 会根据依赖传递机制,将间接依赖 C 引入到 A 中。但如果 A 出于某种原因,希望将间接依赖 C 排除,那该怎么办呢?Maven 为用户提供了两种解决方式:排除依赖(Dependency Exclusions)和可选依赖(Optional Dependencies)。 排除依赖

  • 问题内容: 我有一个模块化的maven项目,其中两个模块“ BIZ”和“ EJB”包含如下内容: 如您所见, “ EJB”依赖于“ BIZ”, 因为它使用 MyClassX (实际上,它使用了BIZ的几种类别)。这就是 ImplFactory 使用反射实例化 InterfaceImpl 的原因。问题是 cl.newInstance() 将抛出 ClassCastException, 因为这两个模块