Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lan

问题:
spring-boot项目本地运行没问题,部署线上出现环境问题,因为本地spring-boot使用tomcat8内置jar包(存放于lib文件夹下),线上配置的tomcat7环境而使用tomcat8的jar包,所以报错。


解决:
1.在pom文件中将tomcat的版本调整为tomcat7,编译后替换下上的tomcat jar包(亲测可用)
2.修改线上tomcat环境为tomcat8环境(感兴趣的可以试试,项目时间紧就没试)


参考文章:http://blog.csdn.net/asdfsfsdgdfgh/article/details/52127562

Mar 08, 2018 2:37:49 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 524 ms
Mar 08, 2018 2:37:49 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mar 08, 2018 2:37:49 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.77
Mar 08, 2018 2:37:49 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /home/wbq/tomcat7-1/webapps/ROOT.war
Mar 08, 2018 2:37:50 PM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
INFO: validateJarFile(/home/wbq/tomcat7-1/webapps/ROOT/WEB-INF/lib/javax.servlet-api-3.1.0.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
Mar 08, 2018 2:37:50 PM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
INFO: validateJarFile(/home/wbq/tomcat7-1/webapps/ROOT/WEB-INF/lib/tomcat-embed-core-8.0.29.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
Mar 08, 2018 2:37:50 PM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
INFO: validateJarFile(/home/wbq/tomcat7-1/webapps/ROOT/WEB-INF/lib/tomcat-embed-el-8.0.29.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/el/Expression.class
Mar 08, 2018 2:37:50 PM org.apache.catalina.deploy.WebXml setVersion
WARNING: Unknown version string [3.1]. Default version will be used.
Mar 08, 2018 2:37:51 PM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 08, 2018 2:37:51 PM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
	at org.apache.tomcat.websocket.server.WsServerContainer.<init>(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:5623)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	... 10 more


Mar 08, 2018 2:37:51 PM org.apache.catalina.startup.HostConfig deployWAR
SEVERE: Error deploying web application archive /home/tomcat7/webapps/ROOT.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:903)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)


Mar 08, 2018 2:37:51 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /home/tomcat7/webapps/ROOT.war has finished in 1,770 ms
Mar 08, 2018 2:37:51 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Mar 08, 2018 2:37:51 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]


猜你喜欢

转载自blog.csdn.net/u012012240/article/details/79498031
今日推荐