代码之家  ›  专栏  ›  技术社区  ›  raptor123

无法部署到运行Tomcat的服务器

  •  0
  • raptor123  · 技术社区  · 9 年前

    我正在尝试将Spring应用程序部署到运行Apache Tomcat的服务器上。然而,我得到这个错误:

    严重:ContainerBase。addChild:开始: org.apache.catalina。LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/RuralIvrs]] 位于org.apache.catalina.util.LifecycleBase.start(Lifecycle Base.java:154) 位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 位于org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976) 位于org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1653) 在java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在java.util.concurrent.FutureTask.run(Future任务.java:266) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool执行器.java:1142) 在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPool执行器.java:617) 位于java.lang.Thread.run(Thread.java:745),原因:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String; 位于org.apache.tomcat.websocket.server.WsServerContainer.(WsServerContainer.java:147) 位于org.apache.tomcat.websocket.server.WsCi.init(WsCi.java:131) 位于org.apache.tomcat.websocket.server.WsCi.onStartup(WsCi.java:47) 位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5423) 位于org.apache.catalina.util.LifecycleBase.start(Lifecycle Base.java:150) …还有10个

    2016年1月21日12:16:42 PM org.apache.catalina.startup.HostConfig deployWAR SEVERE:部署web应用程序存档时出错 /主页/ruralivrs/Ruralict/apache-tomcat-7.0.42/webapps/ruralivrs.war java.lang.IllegalStateException:ContainerBase。addChild:开始: org.apache.catalina。LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/RuralIvrs]] 位于org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904) 位于org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 位于org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 位于org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976) 位于org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1653) 在java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在java.util.concurrent.FutureTask.run(Future任务.java:266) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool执行器.java:1142) 在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPool执行器.java:617) 在java.lang.Thread.run(Thread.java:745)

    我找了几个小时都找不到解决方案。由于我对这一点很陌生,任何帮助都将不胜感激。非常感谢。

    1 回复  |  直到 9 年前
        1
  •  1
  •   G. Demecki    9 年前

    您可以在中找到类似的问题 this blog post .

    解决方案可能很简单,只需添加 tomcat.version 您的Maven项目pom的财产。xml文件

    <properties>
        <tomcat.version>7.0.67</tomcat.version>
    </properties>
    

    Spring Boot文档中解释了原因 embedded-servlet-containers .
    Spring Boot默认为 Tomcat 8 ,所以你需要告诉Spring Boot你的目标是 Tomcat 7 .