无法部署到运行Tomcat

时间:2016-01-21 07:52:49

标签: spring tomcat

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

  

SEVERE:ContainerBase.addChild:start:...   org.apache.catalina.LifecycleException:无法启动组件   [StandardEngine [卡塔利娜] .StandardHost [本地主机] .StandardContext [/ RuralIvrs]]           在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.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)           at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)           at java.util.concurrent.FutureTask.run(FutureTask.java:266)           在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)           at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)           在java.lang.Thread.run(Thread.java:745)引起:java.lang.NoSuchMethodError:   javax.servlet.ServletContext.getVirtualServerName()Ljava /郎/字符串;           在org.apache.tomcat.websocket.server.WsServerContainer。(WsServerContainer.java:147)           在org.apache.tomcat.websocket.server.WsSci.init(WsSci.java:131)           在org.apache.tomcat.websocket.server.WsSci.onStartup(WsSci.java:47)           at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5423)           在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)           ......还有10个

     

2016年1月21日下午12:16:42 org.apache.catalina.startup.HostConfig   deployWAR ...严重:部署Web应用程序存档时出错   /home/ruralivrs/Ruralict/apache-tomcat-7.0.42/webapps/RuralIvrs.war   java.lang.IllegalStateException:ContainerBase.addChild:start:   org.apache.catalina.LifecycleException:无法启动组件   [StandardEngine [卡塔利娜] .StandardHost [本地主机] .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)           at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)           at java.util.concurrent.FutureTask.run(FutureTask.java:266)           在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)           at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)           在java.lang.Thread.run(Thread.java:745)

搜索几个小时后我找不到解决方法。由于我对此很陌生,所以任何帮助都将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

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

解决方案可能就像在Maven项目的pom.xml文件中添加tomcat.version属性一样简单

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

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