• Maven Helper插件——实现一键Maven依赖冲突问题


    业余在一个SpringBoot项目集成Swagger2时,启动过程一直出现以下报错信息——

    An attempt was made to call a method that does not exist. The attempt was made from the following location:

    ​ springfox.documentation.schema.DefaultModelDependencyProvider.dependentModels(DefaultModelDependencyProvider.java:79)

    The following method did not exist:

    ​ com.google.common.collect.FluentIterable.concat(Ljava/lang/Iterable;Ljava/lang/Iterable;)Lcom/google/common/collect/FluentIterable;

    The method's class, com.google.common.collect.FluentIterable, is available from the following locations:

    ​ jar:file:/C:/Users/92493/.m2/repository/com/google/guava/guava/18.0/guava-18.0.jar!/com/google/common/collect/FluentIterable.class

    The class hierarchy was loaded from the following locations:

    ​ com.google.common.collect.FluentIterable: file:/C:/Users/92493/.m2/repository/com/google/guava/guava/18.0/guava-18.0.jar

    Action:

    Correct the classpath of your application so that it contains a single, compatible version of com.google.common.collect.FluentIterable

    出现这个问题,大概猜测到,应该是Maven依赖冲突导致的,忽然想到,是否有可以检查maven依赖冲突的插件呢,一查发现还真有,而且极方便。

    这个Idea插件,叫Maven Helper,根据File -> Settings -> Plugins -> Marketplace 输入Maven Helper即可找到。
    image
    下载后,重启IDEA,这时点击pom.xml文件,会发现多了一栏【Dependency Analyzer】——
    image

    切换至【Dependency Analyzer】栏,在搜索框输入冲突包guava,即会出现,guava都被哪些包依赖了,当多个组件包都依赖了同一个包但又不同版本时,很容易久出现各种冲突。红色部分即是导致启动报异常的地方,可见,springfox-core已经依赖的是20.0包,但其他还依赖18版本的包,这里可以把报错提示的18.0版本的通过exclusion去除即可。

    image
    选中对应想去除的包,右击即可一键exclusion——

    image
    再切换至Text栏,即可发现已经自动增加了exclusions模块——

    <dependency>
        <groupId>io.shardingsphere</groupId>
        <artifactId>sharding-jdbc-spring-namespace</artifactId>
        <version>3.1.0</version>
        <exclusions>
            <exclusion>
                <artifactId>guava</artifactId>
                <groupId>com.google.guava</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    
  • 相关阅读:
    Jquery DataTable初探
    小程序-组件component和模版template的选择和使用
    小程序-canvas在IOS手机层级最高无法展示问题
    小程序-二维码生成
    css深入理解之 border
    css那些事儿4 背景图像
    css那些事儿3 列表与浮动
    css那些事儿2 经典两列布局
    css那些事儿2 盒子模型
    css那些事儿1 css选择符与管理
  • 原文地址:https://www.cnblogs.com/zhujiqian/p/15807845.html
Copyright © 2020-2023  润新知