maven冲突问题

 

经过配置文件解决问题:html

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

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

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

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

3.最后在pom上修改htm

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

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

<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/1926787it

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

解决办法:

一、在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>  
相关文章
相关标签/搜索