您的位置:首页 > 其它

Maven的依赖范围、依赖冲突、依赖排除和版本限定

2017-10-26 11:57 309 查看

maven的配置和依赖问题:

1.0 依赖范围:
compile  编译、测试、运行、发布和打包都会使用
provided 编译和测试起作用
Test  测试使用
runtime   运行和测试时候使用
system 编译。测试、运行  ,maven不会检索
2.o、Maven的依赖范围的传递性

A  依赖jar包 A---第一依赖
compile\provided compile\provided
compile\provided compile

B  依赖A项目 B---第二依赖
compile provide
runtime test

C  依赖B项目 C---第三依赖
compile\provided 没有\provided
runtime\provided 没有

3.0 Maven的依赖的冲突
冲突的解决方案:
1、声明顺 序

声明在前的首先依赖,一般把单个的依赖放在前边,关联下载的放在后边
2、排除依赖
在POM中直接进行依赖的排除<dependency>  
    <groupId>com.alibaba.external</groupId>  

    <artifactId>sourceforge.spring</artifactId>  

    <version>2.0.1</version>  

    <exclusions>  

      <exclusion>  

        <groupId>org.slf4j</groupId>  

        <artifactId>slf4j-log4j12</artifactId>  

        </exclusion>  

    </exclusions>  

</dependency>  

3、限定版本号 
<!--1、定义版本属性 -->
<properties>
<spring.version>4.3.8.RELEASE</spring.version>
</properties>
<!--2、限定版本号 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</dependencyManagement> 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  maven