在使用maven时出现插件依赖的包版本冲突怎么解决?
发现lib里有好几个jar是一样东西版本不同,如ant-1.6.5.jar与ant-1.7.1.jar, servlet-api-2.5-20081211.jar与servlet-api-2.5-6.1.14.jar!
有办法指定插件依赖包的版本?或是只能选择使用同版本依赖包的插件?

解决方案 »

  1.   

    没人回答,果断杯具啊...自己解决了
    在有冲突的依赖下面加上exclusion,如<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j-log4j12.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
      

  2.   

    完全是pom里面定义的版本号 怎么会冲突
    除非pom里面重复定义了 并且版本号还不一样。。
      

  3.   

    兄弟你MAVEN用得不多吧?我也是刚学不久,有些是自己定义的,有些是相互依赖的,比如hibernate-core.3.3.2GA会依赖javassist.3.4.GA,你不写javassist的dependency maven也会自己下载的!
    你消灭0回复分就给你了
      

  4.   

    我做的项目好像没遇到这种情况
    基本上 都是 mavensearch 上面 copy过来的配置
    你的意思是那些隐含依赖的 之间会冲突
    学习了
      

  5.   

    是呢 先dependency:tree看到底是谁捣乱
    再exclusion之