废话不多说,直接上代码

<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中查找它。

相关文章:

  • 2021-08-03
  • 2021-10-22
  • 2021-10-06
  • 2022-12-23
  • 2022-12-23
  • 2021-06-30
  • 2021-06-18
  • 2021-10-24
猜你喜欢
  • 2021-07-28
  • 2022-12-23
  • 2021-06-25
  • 2022-12-23
  • 2021-07-15
  • 2021-09-16
相关资源
相似解决方案