zoukankan      html  css  js  c++  java
  • maven冲突问题

    通过配置文件解决问题:

    http://stamen.iteye.com/blog/2030552

    1.用命令dependency:tree得到依赖关系

    (或者加上Dincludes或者Dexcludes说出你喜欢或讨厌限制 例:mvn dependency:tree -Dverbose -Dincludes=asm:asm  )

    2.找到不想要的jar的位置

    3.最后在pom上修改

    将不想要的传递依赖剪除掉 

       承上,假设我们不希望asm:asm:jar:1.5.3出现,根据分析,我们知道它是经由org.unitils:unitils-dbmaintainer:jar:3.3引入的,那么在pom.xml中找到这个依赖,做其它的调整: 

    <dependency>  
        <groupId>org.unitils</groupId>  
        <artifactId>unitils-dbmaintainer</artifactId>  
        <version>${unitils.version}</version>  
        <exclusions>  
            <exclusion>  
                <artifactId>dbunit</artifactId>  
                <groupId>org.dbunit</groupId>  
            </exclusion>  
            <!-- 这个就是我们要加的片断 -->  
            <exclusion>  
                <artifactId>asm</artifactId>  
                <groupId>asm</groupId>  
            </exclusion>  
        </exclusions>  
    </dependency>
    由于引入jar顺序问题的解决办法:

    http://mrlee23.iteye.com/blog/1926787

    如果你pom.xml里面你把spring-asm-3.1.4和spring-core-3.2.4同时引进去的话(注意:一定要注意顺序,是spring-asm-3.1.4在前,spring-core-3.2.4在后,这会引起包冲突)

    解决办法:

    1、在pom.xml中去掉spring-asm-3.1.4的引用,因为spring-core-3.2.4已经把asm这个代码重新打包进去了

    spring-core-3.2.4 包

    2.如果必须要用spring-asm-3.1.4的话,就在pom文件中,把spring-core-3.2.4的引用放在spring-asm-3.1.4之前(利用类加载顺序,但不建议这么做,会带来一些问题)

    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-core</artifactId>  
        <version>3.2.4.RELEASE</version>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-asm</artifactId>  
        <version>3.1.4.RELEASE</version>  
    </dependency>  
    
  • 相关阅读:
    nginx负载均衡
    docker 使用之管理工具shipyard(五)
    docker使用之私有仓库构建(四)
    docker使用之dockerfile手动构建镜像(三)
    docker 使用之网络和存储(二)
    docker部署和使用(一)
    Java微信公众号开发
    Java实现验证码的制作
    SSH框架-Struts2基础-Action
    Java算法
  • 原文地址:https://www.cnblogs.com/SnowingYXY/p/7086065.html
Copyright © 2011-2022 走看看