Maven 中 <scope>provided</scope> 的作用和使用场景
在 Maven 中,<scope>provided</scope> 用于指定依赖项的范围,表示该依赖项在编译和测试阶段中是可用的,但在运行时由目标环境(如应用服务器)提供。换句话说,该依赖项是编译和测试所必需的,但在部署应用程序时不会打包进最终的 JAR 或 WAR 文件中。
使用 <scope>provided</scope> 的一个常见场景是,当开发一个基于 JavaEE 的 Web 应用程序时,需要依赖 JavaEE 相关的 API,如 Servlet API 和 JSP API。在开发和测试过程中,这些 API 是必需的,但在部署到 JavaEE 容器时,这些 API 已经由容器提供,因此不需要将它们打包进应用程序中。
示例:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
在上述示例中,servlet-api 依赖项的范围被设置为 <scope>provided</scope>,表示该依赖项在编译和测试阶段中是必需的,但在部署时由 JavaEE 容器提供。
原文地址: https://www.cveoy.top/t/topic/pDmp 著作权归作者所有。请勿转载和采集!