解决maven导入依赖和Tomcat服务器lib冲突
程序员文章站
2022-03-26 17:44:23
最近在开发一个小项目,在jsp页面使用pageContext发现pageContext下没有方法。于是去导入了包 javax.servlet jsp-api 2.0 然后光荣的爆红了.....
起因
最近在开发一个小项目,在jsp页面使用pageContext发现pageContext下没有方法。于是去导入了包
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
</dependency>
然后光荣的爆红了
解决
这个错误很有意思,它是由于pom导入的依赖和tomcat服务器lib中的依赖冲突导致。
可以使用 <scope>provided</scope>
解决
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope><provided</scope>
</dependency>
scope的解释
provided表示在build,test阶段都有依赖,在runtime时并不输出依赖关系而是由容器提供,例如web war包都不包括servlet-api.jar,而是由tomcat等容器来提供
引用自 https://blog.csdn.net/pengpengzhou/article/details/81743567
补充
- 网上有其他的解决方案:将tomcat下lib中的jsp-api.jar删除。我试了但是服务器就无法启动。
- 切记不能改名替换,同样会出现问题。
引用自:https://blog.csdn.net/u010486679/article/details/81705456
本文地址:https://blog.csdn.net/qq_43163507/article/details/109984514
上一篇: Java的邮件发送功能实现
下一篇: java中的方法