STS 版本:spring-tool-suite-3.8.1.RELEASE-e4.6-win32-x86_64
maven版本:apache-maven-3.3.9
报错信息如图(图片解决方案来源博客:java.lang.LinkageError: loader constraint violation 问题的解决办法)
解决方法
如果发生以上问题;基本上不出意外是
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>9.0.11</version>
<scope>provided</scope>
</dependency>
tomcat的依赖范围出现了问题 在下面加上 scope 基本上会解决此类问题 如果 加上之后还出现 空指针的异常 在jsp下面 加上 scope范围就会解决;
解决这类问题的基本方法如下:
解决办法,在pom.xml中,找到servlet-api的配置 ,修改为如下
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
maven 依赖中,scope域的几种范围
1、test指的是测试范围有效,在编译和打包时都不会使用这个依赖
2、compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去,默认使用的是compile
3、provided依赖:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突
4、runtime在运行的时候依赖,在编译的时候不依赖
5、system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
---------------------
作者:wujj5_ttc
来源:CSDN
原文:https://blog.csdn.net/wujj5_ttc/article/details/82497607
版权声明:本文为博主原创文章,转载请附上博文链接!