STS maven build 访问 jsp页面报错

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 问题的解决办法)

STS maven build 访问 jsp页面报错

解决方法

如果发生以上问题;基本上不出意外是 

<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
版权声明:本文为博主原创文章,转载请附上博文链接!