简体   繁体   English

Tomcat7战争文件问题

[英]Tomcat7 War File Issue

This may be asked previously but none of them is solving my problem 可能以前曾问过这个问题,但没有一个解决我的问题

I have made a servlet and I want to host it in tomcat7. 我已经制作了一个servlet,并且希望将其托管在tomcat7中。 The servlet is running perfectly when I run it in tomcat7 using eclipse (Run on server) 当我使用eclipse在tomcat7中运行servlet时,它运行完美 (在服务器上运行)

echo $CATALINA_HOME is /usr/share/tomcat7 echo $ CATALINA_HOME是/ usr / share / tomcat7

However the webapp folder is found in /var/lib/tomcat7 但是, 可在/ var / lib / tomcat7中找到webapp文件夹

I made a war file using eclipse[ file->export->web->war ] 我使用eclipse [ file-> export-> web-> war ]创建了一个war文件

ERROR 错误

11 Sep, 2013 12:30:51 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
11 Sep, 2013 12:30:51 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.26
11 Sep, 2013 12:30:51 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor /etc/tomcat7/Catalina/localhost/host-manager.xml
11 Sep, 2013 12:30:58 AM org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [6,114] milliseconds.
11 Sep, 2013 12:30:58 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor /etc/tomcat7/Catalina/localhost/manager.xml
11 Sep, 2013 12:30:58 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /var/lib/tomcat7/webapps/sms.war
11 Sep, 2013 12:30:58 AM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/sms]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599)
    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:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.UnsupportedClassVersionError: org/raxa/module/handlesms/IncomingSMS : Unsupported major.minor version 51.0 (unable to load class org.raxa.module.handlesms.IncomingSMS)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2840)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1668)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:108)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:58)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:381)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:858)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:345)
    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:5161)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 11 more
11 Sep, 2013 12:30:58 AM org.apache.catalina.startup.HostConfig deployWAR
SEVERE: Error deploying web application archive /var/lib/tomcat7/webapps/sms.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/sms]]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:898)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599)
    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:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:679)
11 Sep, 2013 12:30:58 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /var/lib/tomcat7/webapps/sample.war
11 Sep, 2013 12:30:58 AM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT
11 Sep, 2013 12:30:59 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
11 Sep, 2013 12:30:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 7455 ms

I tried to create the war file using apache ant also but its giving the same error. 我也尝试使用apache ant创建war文件,但是它给出了相同的错误。

In eclipse I provided the tomcat installation directory to be /usr/share/tomcat7 ie $catalina_home 在eclipse中,我提供了tomcat的安装目录为/ usr / share / tomcat7,即$ catalina_home

java-version Java的版本

java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

SOLUTION set tomcat java_home to the the system java-version 解决方案:将tomcat java_home设置为系统java版本

Tutorial: Link to set java_home of tomcat7 教程: 链接以设置tomcat7的java_home

Actually the main point of your Exception is the java.lang.UnsupportedClassVersionError Unsupported major.minor version 51.0 实际上,您的异常的主要要点是java.lang.UnsupportedClassVersionError不支持的major.minor版本51.0
This means that at least java 7 has to be used to launch tomcat. 这意味着至少必须使用Java 7来启动tomcat。

you should check with which jdk you start tomcat. 您应该检查使用哪个jdk启动tomcat。
for sure it is lower as java 7. It is not necessary matching the java -version return 确保它低于Java7。不必匹配java -version return

For going deeper on the java.lang.UnsupportedClassVersionError: 要深入了解java.lang.UnsupportedClassVersionError:
http://javarevisited.blogspot.ch/2011/07/javalangunsupportedclassversionerror.html http://javarevisited.blogspot.ch/2011/07/javalangunsupportedclassversionerror.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM