Maven pom.xml中标签有什么用 test和provided区别

admin 百科 15
scope标签控制依赖的可见范围和参与阶段;test仅用于测试编译,不参与主代码编译和运行,不打包;provided用于编译主代码但由外部容器提供,不打包。

Maven pom.xml中标签有什么用 test和provided区别-第1张图片-佛山资讯网

标签用来控制依赖在项目生命周期中的**可见范围和参与阶段**,它决定了这个依赖在编译、测试、运行时是否可用,以及会不会被打包进最终产物(比如 jar 或 war)里。

test:只在测试阶段有效

声明为 <scope>test</scope> 的依赖,仅在 src/test/java 下的测试代码中可用,编译主代码(src/main/java)和运行时都不可见,也不会打进最终包里。

  • 典型例子:JUnit、AssertJ、Mockito
  • 如果你在 main 代码里 import junit,Maven 会直接报错——因为编译主代码时它根本不存在
  • 打包时完全不包含,避免污染生产环境

provided:编译时需要,运行时由外部提供

<scope>provided</scope> 表示:这个依赖对编译主代码是必需的,但**运行时由 JDK 或容器(如 Tomcat、Servlet 容器)自带**,所以不会打进最终包里。

标签: java js tomcat ai 区别

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~