【Idea】SpringBoot项目中,jar包引用冲突异常的排查 / SM2算法中使用bcprov-jdk15to18的报错冲突问题

问题描述以及解决方法:

项目中使用了bcprov-jdk15to18 pom依赖,但是发现代码中引入的版本不正确。

追溯代码发现版本引入的是bcprov-jdk15on,而不是bcprov-jdk15to18,但是我找了半天pom依赖也没有发现有引入bcprov-jdk15on依赖。所以判断这个包肯定是其它依赖中包含的,需要exclude掉。

解决:

spring-cloud-starter-netflix-eureka-client依赖中会自带bcprov-jdk15on包和bcpkix-jdk15on包,因此导入bcprov-jdk15to18包使用时在类中会默认导入的是bcprov-jdk15on包,这时需要将bcprov-jdk15on依赖从spring-cloud-starter-netflix-eureka-client中exclude掉,解决冲突问题。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk15on</artifactId>
        </exclusion>
    </exclusions>
</dependency>

参考链接:https://blog.csdn.net/Lemon_MY/article/details/108347316

查看maven依赖关系图:

exclude掉spring-cloud-starter-netflix-eureka-client依赖中的bcprov-jdk15on包后,有可能还会有其它的依赖也存在该包,所以需要查看maven依赖关系图,来确保,该包是否全部被exclude掉了。

查看maven依赖关系图 需要安装maven helper工具。在plugins——》Marketplace 中搜索安装Maven Helper插件;

安装完成之后点击对应的pom.xml就会看到有多出一个Dependency Analyzer的选项,点击就能看到对应的maven依赖的关系图,可以通过filter搜索自己想要查找的依赖。
【Idea】SpringBoot项目中,jar包引用冲突异常的排查 / SM2算法中使用bcprov-jdk15to18的报错冲突问题_第1张图片

你可能感兴趣的:(业务所需,工具,intellij-idea,spring,boot,jar)