gpt4 book ai didi

java - 获取 NoSuchMethodError :javax. servlet.ServletContext.getVirtualServerName()

转载 作者:IT老高 更新时间:2023-10-28 20:40:16 33 4
gpt4 key购买 nike

我在 Tomcat 8 中部署服务时遇到问题。出现以下错误:

Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String; at org.apache.tomcat.websocket.server.WsServerContainer.(WsServerContainer.java:149) at org.apache.tomcat.websocket.server.WsSci.init(WsSci.java:131) at org.apache.tomcat.websocket.server.WsSci.onStartup(WsSci.java:47) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5244) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 10 more

方法 getVirtualServerName 是在 Servlet 3.1 中引入的,在从我的 servlet-api jar 中提取 MANIFEST.MF 后,我得到了以下详细信息:

Specification-Title: Java API for Servlets 
Specification-Version: 3.1
Specification-Vendor: Sun Microsystems, Inc.
Implementation-Title: javax.servlet

这说它有 3.1。那么这个错误还有其他原因吗?请帮忙

最佳答案

检查您的所有 Maven(或等效)依赖项,并确保您(或很可能是另一个依赖项)没有引入 3.1 之前版本的 javax.servlet/servlet-api可能优先于 Tomcat 8 中的内容。如果您已手动部署,请确保您没有手动将任何 servlet-api JAR 复制到 Tomcat 本身中。

见:https://stackoverflow.com/a/26232535/954442

关于java - 获取 NoSuchMethodError :javax. servlet.ServletContext.getVirtualServerName(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34950164/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com