1、问题主要servlet-api 有重复导致的;
2、解决 找到maven的依赖,找到servlet-api依赖,添加provided
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
- compile:默认值。表示是所有任务所需的资源,会随项目一起发布。
- test:用于编译和运行测试代码时所需的资源,不会随项目发布。
- runtime:运行时所需的资源,如JDBC驱动。
- provided:类似compile,JDK部分或应用服务器的classpath所需的资源,期望JDK、容器 或使用者会提供这个依赖,如servlet.jar。
- system:类似provided,必须指定systemPath,需要显示提供依赖的jar,
- maven不会在Repository中查找。
3、另外通过eclisep 查看pom文件,选jar层次依赖找到servlet的依赖情况,发现项目竟然还有依赖
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2-rev-1</version>
<scope>provided</scope>
</dependency>
改为
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2-rev-1</version>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
<scope>provided</scope>
</dependency>