Maven依赖范围

 

 

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
    </exclusions>
</dependency>

默认是编译,需要使用jar包

Maven用于项目的构建,它会执行一系列编译、测试和部署运行等操作,在不同的操作下使用的classpath不同,依赖范围就是用来控制依赖与三种 classpath(编译classpath、测试classpath、运行classpath)的关系;

 

Maven有以下几种依赖范围:

compile:编译依赖范围(默认),使用此依赖范围对于编译、测试、运行三种classpath 都有效,即在编译、测试和运行的时候都要使用该依赖jar包;

test:测试依赖范围,只能用于测试classpath,而在编译和运行主程序项目时无法使用此jar包依赖,典型的是JUnit,它只用于编译测试代码和运行测试代码的时候才需要;

provided: 此依赖范围,对于编译和测试classpath有效,而对运行时无效,典型的是servlet包;

runtime:运行时依赖范围,对于测试和运行classpath有效,但是在编译主代码时无效,典型的就是JDBC驱动实现;

system:系统依赖范围,和provided依赖范围一致,使用system范围的依赖时必须通过systemPath元素显示地指定依赖文件的路径,不依赖Maven仓库解析,所以可能会造成建构的不可移植,谨慎使用

<dependency>

<groupId>com.hangzhou.iservice</groupId>

<artifactId>iservice</artifactId>

<version>2.0.0</version>

<scope>system</scope>

<systemPath>c:/dev/lib/iservice-2.0.0.jar</systemPath>

</dependency>

posted on 2023-01-31 15:16  companion  阅读(530)  评论(0编辑  收藏  举报