今天给项目配置拦截器,发现找不到HttpServletRequest的包:

所以在pom文件中添加了下面依赖:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
依赖添加后,包成功引入,没毛病,项目编译也没毛病,但是一启动报:

子容器创建失败,一脸懵逼。
问题回溯,刚刚添加了一个依赖,那么应该是依赖添加导致的问题。
导致原因:tomcat中已经有servlet的jar包,pom文件中再添加一个,就会导致jar冲突。
解决方法,添加依赖的时候添加scope,表示在开发的时候使用:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
项目再次启动,没毛病。
本文介绍了一种常见问题:在项目中添加servlet-api依赖后导致的jar包冲突,并提供了添加依赖时使用provided scope来解决该问题的方法。
507

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



