maven主要存在一个是版本冲突问题,如果说是在同个pom.xml导入同一个jar包的时候,是选择离项目最近的那个版本的。

举个栗子:

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>19.0</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>18.0</version>
            </dependency>

最后是以18.0的版本导入的哦

 

如果存在依赖jar冲突怎么解决?

idea有个自带的,

maven深入学习总结(一)

 

点击之后会看到maven jar关联图,红色的代表冲突

maven深入学习总结(一)

 

或者idea 插件maven Helper,install之后

maven深入学习总结(一)

 

看到红色的也是冲突的

 

还有一种方法是进行版本锁定

<properties>
        <spring.version>4.2.4.RELEASE</spring.version>
        <hibernate.version>5.0.7.Final</hibernate.version>
        <struts.version>2.3.24</struts.version>
    </properties>
    <!-- 锁定版本,struts2-2.3.24、spring4.2.4、hibernate5.0.7 -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
</dependencies>
</dependencyManagement>

 

相关文章: