Maven pom.xml文件中<dependency>元素的<scope>标签
37
2024-04-12
简述
Maven的pom.xml文件中,
以下是Maven中常见的依赖范围(scope):
compile(默认范围)
- 编译范围的依赖在项目的classpath下可用,并且它们会被包含在最终构建的产物中(如JAR、WAR)。
- 这是最常见的范围,也是默认范围,如果你没有指定
标签,那么依赖的范围就是compile。
provided
- 这种范围的依赖在编译和测试classpath下可用,但不会被包含在最终构建的产物中。
- 这通常用于那些由JDK或容器(如Servlet容器)提供的库。例如,在Java EE项目中,Servlet API通常设置为provided范围,因为Servlet容器会提供这个API。
runtime
- 这种范围的依赖在测试和运行时classpath下可用,但不会在编译时classpath下可用。
- 这通常用于那些编译时不需要,但运行时需要的库。
test
- 这种范围的依赖只在测试classpath下可用,并且不会被包含在最终构建的产物中。
- 这通常用于测试框架和测试库。
system
- 这种范围的依赖与provided类似,但你需要通过
标签指定依赖的路径。 - 这通常不推荐使用,因为它使得构建与特定的系统环境紧密耦合。
import
- 这种范围仅用于
部分,允许你从另一个POM中导入依赖管理。 - 这对于多模块项目或继承项目非常有用,可以确保所有模块使用相同版本的依赖。
- 0
- 0
-
分享