maven如何引入servlet-api和jsp-api

废话不多说,直接上代码

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.2</version>
    <scope>provided</scope>
</dependency>

如果不配置scope,会把jar包发布,会跟容器里的jar包冲突
scope要用provided,由容器提供,不会发布
(或者不配这两个依赖,在项目的Java Build Path的Libraries里添加Server Runtime(Tomcat))

可以使用5个值:

  • compile,缺省值,适用于所有阶段,会随着项目一起发布。
  • provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
  • runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
  • test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
  • system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
原文地址:https://www.cnblogs.com/silfox/p/7659353.html