在 Maven 中,<scope>provided</scope> 用于指定依赖项的范围,表示该依赖项在编译和测试阶段中是可用的,但在运行时由目标环境(如应用服务器)提供。换句话说,该依赖项是编译和测试所必需的,但在部署应用程序时不会打包进最终的 JAR 或 WAR 文件中。

使用 <scope>provided</scope> 的一个常见场景是,当开发一个基于 JavaEE 的 Web 应用程序时,需要依赖 JavaEE 相关的 API,如 Servlet API 和 JSP API。在开发和测试过程中,这些 API 是必需的,但在部署到 JavaEE 容器时,这些 API 已经由容器提供,因此不需要将它们打包进应用程序中。

示例:

&lt;dependency&gt;
    &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
    &lt;artifactId&gt;servlet-api&lt;/artifactId&gt;
    &lt;version&gt;4.0.1&lt;/version&gt;
    &lt;scope&gt;provided&lt;/scope&gt;
&lt;/dependency&gt;

在上述示例中,servlet-api 依赖项的范围被设置为 <scope>provided</scope>,表示该依赖项在编译和测试阶段中是必需的,但在部署时由 JavaEE 容器提供。


原文地址: https://www.cveoy.top/t/topic/pDmp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录