做个记录,个人备份,今天加了一个jar包后,报错了(熟悉的开头)
详细是这样的:
Description:
An attempt was made to call the method javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String; but it does not exist. Its class, javax.servlet.ServletContext, is available from the following locations:
jar:file:/D:/RepMaven/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar!/javax/servlet/ServletContext.class
jar:file:/D:/RepMaven/org/apache/tomcat/embed/tomcat-embed-core/9.0.13/tomcat-embed-core-9.0.13.jar!/javax/servlet/ServletContext.class
jar:file:/D:/RepMaven/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar!/javax/servlet/ServletContext.class
It was loaded from the following location:
file:/D:/RepMaven/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of javax.servlet.ServletContext
二 搜了一会,发现一个人建议使用mvn dependency:tree看一下依赖关系,和新加的包有一些关系,可能是依赖冲突了。
然后试了一下
<!--smb测试从服务器下载文件,不知道能用不--> <dependency> <groupId>jcifs</groupId> <artifactId>jcifs</artifactId> <version>1.3.17</version> <exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> </exclusions> </dependency>
再启动时这个报错就消失了。
参考:通过mvn dependency:tree 查看依赖树,解决依赖jar冲突问题_Java_天工开物-CSDN博客 https://blog.csdn.net/tiangongkaiwu152368/article/details/78828974