maven的依赖范围(转载)
2013-02-03 20:59
375 查看
转自http://www.myexception.cn/software/463924.html
maven的依赖范围
依赖范围是用来控制依赖与3种classpath(编译classpath,测试classpath,运行classpath)的关系。maven有以下几种依赖范围:
Compile:编译依赖范围。默认使用此依赖范围,其下的maven依赖,对于编译,测试,运行classpath都有效。
Test:测试依赖范围。只对测试classpath有效,编译主代码或运行项目时无法使用此依赖。典型例子如junit。
Provided:已提供依赖范围。其对于编译与测试classpath有效,运行时无效。如在web开发时,只有在编译和测试时才用到servlet-api,将其设置为此范围,在运行时servlet-api由web容器提供,无须依赖。并且在打war包时,此范围的依赖不会打在WEB-INF/lib下。
Runtime:运行时依赖范围。与provided相对,运行时classpath有效。典型例子如jdbc。
System:系统依赖范围。其和三种classpath的关系,与provided一样。但是使用此依赖范围必须通过SystemPath元素显示地指定依赖文件的路径。由于与本机系统绑定,移植性差。如:
maven的依赖范围
依赖范围是用来控制依赖与3种classpath(编译classpath,测试classpath,运行classpath)的关系。maven有以下几种依赖范围:
Compile:编译依赖范围。默认使用此依赖范围,其下的maven依赖,对于编译,测试,运行classpath都有效。
Test:测试依赖范围。只对测试classpath有效,编译主代码或运行项目时无法使用此依赖。典型例子如junit。
Provided:已提供依赖范围。其对于编译与测试classpath有效,运行时无效。如在web开发时,只有在编译和测试时才用到servlet-api,将其设置为此范围,在运行时servlet-api由web容器提供,无须依赖。并且在打war包时,此范围的依赖不会打在WEB-INF/lib下。
Runtime:运行时依赖范围。与provided相对,运行时classpath有效。典型例子如jdbc。
System:系统依赖范围。其和三种classpath的关系,与provided一样。但是使用此依赖范围必须通过SystemPath元素显示地指定依赖文件的路径。由于与本机系统绑定,移植性差。如:
<dependency> <groupId>tools</groupId> <artifactid>tools</artifactId> <version>1.6.30</version> <scope>System</scope> <systemPath>${java.home}/lib/tools.jar</systemPath> </dependency>
相关文章推荐
- maven学习笔记2 依赖的配置和依赖的范围
- Maven依赖范围
- (十)maven核心概念-依赖范围
- Maven开发笔记(一)—— Maven中的依赖作用范围(scope)
- maven的依赖范围
- 4、Maven的依赖的范围
- 【转载整理】JitPack 发布Maven依赖
- maven依赖范围
- Maven依赖范围及传递
- maven依赖范围
- Maven依赖范围<scope>
- maven中依赖范围简单解释
- Maven的6种依赖范围
- Maven的依赖与最佳配置(转载自Maven实战 作者许晓斌)
- 【Maven】Maven的依赖范围
- Maven -- 依赖范围配置
- Maven 将Jar安装到本地仓库和Jar上传到私服及依赖范围控制
- maven依赖的范围
- maven依赖范围
- Maven依赖范围