- complie
maven 依赖的默认值。编译、测试、运行阶段都有依赖关系。 - provided
参与编译、测试阶段。与 compile 相比较,在运行前打包时会做排除操作,运行时由具体容器提供。例如 Web *.war 包都不包括 servlet-api.jar 文件,而是由 Tomcat、WebLogic 等容器来提供。 - runtime
编译阶段不依赖,没有直接引用,测试和运行阶段根据配置动态加载并实例化。相对于 compile,runtime 可以避免在程序里意外直接引用原本应该动态加载的包。 - system
与 provided 相似。区别是被依赖文件不会从仓库下载(maven 私服或远程),只读取本地系统文件,需要添加 systemPath 属性定义路径。 - test
依赖文件仅支持测试代码编译、运行,不会被打包进项目文件。例如:jUnit 文件。
Maven 依赖 scope 范围比较说明
最新推荐文章于 2023-05-17 17:33:55 发布