当前位置: 首页 > 知识库问答 >
问题:

运行Tomcat服务器org.apache.catalina.deploy.WebXml addServlet时的异常

储毅
2023-03-14

我使用eclipse在本地机器上编写了几个servlet。我在本地机器上测试了它们,一切都很好。

然后,我将我的项目导出为.war文件,并将其放在另一台计算机中tomcat的webapps目录下,我只有ssh访问权限。我重新启动了tomcat服务器,在查看了日志文件后,我发现它抛出了以下异常:

java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet
at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:855)
at org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:201)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1051)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:604)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1759)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2915)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)
at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1875)
at org.apache.catalina.startup.ContextConfig.getDefaultWebXmlFragment(ContextConfig.java:1472)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1250)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:968)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1646)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)

不知道这意味着什么?

共有2个答案

邹嘉荣
2023-03-14

在我的项目中使用maven之后,我遇到了这个问题。正如Adam所说,我删除了maven依赖项中的所有tomcat库,然后问题就解决了。

南宫书
2023-03-14

我在这里找到了解决办法

我是对的,因为你不再需要web.xml了。您可以简单地使用注释来定义servlet的路径。但问题是我在lib中包含了catalina.jar,这导致了一些问题。删除catalina.jar修复了问题!

 类似资料:
  • 当我尝试在NetBeans中运行servlet程序时,我在第1045行的中得到以下错误,该错误不允许Tomcat服务器启动。 而且,apache服务器日志正在发出消息,因为IP未被识别为内部或外部命令、可操作程序或批处理文件。 我不知道我哪里做错了,也不知道我在哪里配置了servlet映射中提供的环境变量。 欢迎任何帮助。

  • 我试图了解gRPC中的异常处理机制是如何工作的。 除了try-catch块之外,还有其他方法来处理运行时异常,例如服务器端的IllegalArgumentException吗? 例如,我有一些gRPC流式客户端服务,当传递的参数不满足深层次的一些断言时(在某些库中,例如,com.google.common.base.Preconditions),方法onNext抛出IllegalArgumentE

  • 我正在尝试将Spring应用程序部署到运行Apache Tomcat的服务器。然而,我得到了这个错误: 严重:ContainerBase.AddChild:start:…org.apache.Catalina.LifecycleException:无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Rur

  • 我使用的是Tomcat服务器V7.0。我需要在同一台机器上同时运行两个Tomcat服务器。在运行第一个Tomcat服务器并尝试运行第二个Tomcat服务器后,出现了这个错误。 有解决办法吗? 谢谢你。

  • 我从minecraft技术页面为1.12.2包下载了服务器文件夹,在运行LaunchServer.bat时,我得到以下错误: 我的输出: 对于环境变量: 我的设置为 我的路径包含 我尝试的内容:我查看了.bat文件,并将其更改为Minecraft.NET推荐的行。我还有一个对运行服务器有经验的朋友看了一下,他说批处理文件的文件和行看起来很好。所以我想这是我的java和如何安装它的一个问题。在做了一

  • 我有个问题希望你能帮我解决。 有时,我的应用程序会出现一些错误,并继续在服务器上运行,直到我手动停止服务器并重新启动。