您的位置:首页 > Web前端

previously initiated loading for a different type with name "javax/servlet/ServletContext"

2018-03-01 09:02 531 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  maven jar 冲突-异常
相关文章推荐