【Maven】javax.servlet.ServletContext 引用失败

在我为项目设定 parent pom的时候遇上了一个问题,

APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    org.apache.catalina.authenticator.AuthenticatorBase.startInternal(AuthenticatorBase.java:1178)

The following method did not exist:

    javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;

The method's class, javax.servlet.ServletContext, is available from the following locations:

    jar:file:/Users/12dong/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar!/javax/servlet/ServletContext.class
    jar:file:/Users/12dong/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.17/tomcat-embed-core-9.0.17.jar!/javax/servlet/ServletContext.class

It was loaded from the following location:

    file:/Users/12dong/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar


Action:

Correct the classpath of your application so that it contains a single, compatible version of javax.servlet.ServletContext

从description可以看出我的项目关于servlet-api的引用又有两处用到了,只要把我显式引用的pom dependency删除就好了。

但不知道为什么如果仅仅把parent pom 改为idea 默认的springboot-pom可以使用,但是换成我自己创建的parent pom就不能使用了,即使我自己创建的parent pom 的 parent pom 也是idea 默认的springboot-pom。

发布了119 篇原创文章 · 获赞 10 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/yr12Dong/article/details/90219071