maven项目中provided的作用
今天在开发web项目的过程中,需要配置servlet-api
于是就正常配置如下:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
结果运行遇到了下面的报错!

那么,解决方法就是添加 了
| < scope>provided< /scope> |
|---|
为什么会报错呢?原来tomcat中也有servlet-api包,这样就会发生冲突
当我们在pom.xml中的servlet-api依赖中添加provided后,provided表明该包只在编译和测试的时候用,所以,当启动tomcat的时候,就不会冲突了,完整依赖如下:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>

本文详细解释了在Maven项目中使用provided依赖范围的原因,特别是在处理web项目中servlet-api与Tomcat自带版本冲突的问题。通过将servlet-api依赖设置为provided,可以避免部署时的重复加载,确保应用服务器的版本被使用。

860

被折叠的 条评论
为什么被折叠?



