maven <dependency> 属性
<dependency> scope属性是用来限制第三方依赖包的作用范围, 影响maven项目在各个生命周期时导入的package的状态。自从2.0.x后,新增了1种,现在有了6种常用scope:
compile
* 默认的scope * 表示 dependency 可以在生命周期中使用。且这些dependencies 会传递到依赖的项目中
provided
* 跟compile相似,但是表明了dependency 由JDK或者容器提供【例如Servlet API等】 * 这个scope 只能作用在编译和测试时,同时没有传递性。不会将包打入本项目中,只是依赖过来。
runtime
表示dependency不作用在编译时,但会作用在运行和测试时
test
表示dependency作用在测试时,不作用在运行时
system
* 跟provided 相似。必须通过元素显式地指定依赖文件的路径,maven不会在repository查找它 * 由于此类依赖不是通过maven仓库解析的,而且往往是与本机系统绑定,可能造成构件的不可移 植性,所以要谨慎使用。
import
* maven 2.0.9 之后新增* 只使用在<dependencyManagement>中,表示从其它的pom中导入dependency的配置
type属性
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。