

新闻资讯
技术学院scope标签控制依赖的可见范围和参与阶段;test仅用于测试编译,不参与主代码编译和运行,不打包;provided用于编译主代码但由外部容器提供,不打包。
标签有什么用 test和provided区别">
声明为 的依赖,仅在 src/test/java 下的测试代码中可用,编译主代码(src/main/java)和运行时都不可见,也不会打进最终包里。
表示:这个依赖对编译主代码是必需的,但**运行时由 JDK 或容器(如 Tomcat、Servlet 容器)自带**,所以不会打进最终包里
。
HttpServletRequest,编译时必须有 servlet-api.jar;但部署到 Tomcat 时,它自己就提供了,再打进去反而可能冲突mvn test 或 mvn compile 时,provided 依赖仍参与编译和测试;但 mvn package 后的 jar/war 里没有它顺便提几个常一起出现的 scope,帮你理清边界:
基本上就这些。选 test 还是 provided,关键看两点:它是不是只给测试用?还是说“我写代码要它,但上线后别人(JVM/容器)会给我”。搞清这点,配置就不容易出错。