maven中scope标签做用

scope 是用来限制 dependency 的做用范围的,影响 maven 项目在各个生命周期时导入的 package 的状态,主要管理依赖的部署。api

scope 的做用范围:服务器

(1)compile:默认值,适用于全部阶段(代表该 jar 包在编译、运行以及测试中路径都可见),而且会随着项目一块儿发布。maven

(2)test:只在测试时使用,用于编译和运行测试代码,不会随项目发布。ide

(3)runtime:无需参与项目的编译,不事后期的测试和运行周期须要其参与,与 compile 相比,跳过了编译。如 JDBC 驱动,适用运行和测试阶段。测试

(4)provided:编译和测试时有效,可是该依赖在运行时由服务器提供,而且打包时也不会被包含进去。如 servlet-api。生命周期

(5)system:相似 provided,须要显式提供包含依赖的jar,不会从 maven 仓库下载,而是从本地文件系统获取,须要添加 systemPath 的属性来定义路径。部署

相关文章
相关标签/搜索