org.apache.catalina.LifecycleException: 启动组件失败 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/CollegeWebsite]]。

51
org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/CollegeWebsite]]
    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:962)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1603)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:469)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:332)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:597)
    at java.lang.Thread.run(Thread.java:637)
Caused by: java.lang.UnsupportedClassVersionError: com/Servlets/AddCourse : Unsupported major.minor version 51.0 (unable to load class com.Servlets.AddCourse)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2893)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1170)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
    at org.apache.catalina.startup.WebAnnotationSet.loadClass(WebAnnotationSet.java:480)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:130)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:66)
    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

我该如何解决这个错误?我的项目在Eclipse上部署很容易,但是当我直接通过Tomcat服务器部署时,它无法部署。


请检查以下内容中的一个:TOMCAT_USER(Tomcat配置)、CLASSPATH(Tomcat配置)或Tomcat目录的用户权限。 - Elshan
2个回答

30

您遇到了版本冲突,请确认编译版本和Tomcat版本的JVM是否相同。 您可以通过检查Tomcat启动.bat文件,查找JAVA_HOME来进行操作。


2
我该如何检查Tomcat和Eclipse所使用的JRE版本,我是新手...谢谢。 - Abhi
1
我该如何检查Tomcat和Eclipse所使用的JRE和JDK版本?我是新手...谢谢,请帮帮我! - Abhi
1
首先检查您的Tomcat的Java_Home,然后在Eclipse中修改编译器兼容性设置以匹配上述Java_Home版本。 - TheWhiteRabbit
我不确定这是否是因为我之前有一个应用程序使用相同的配置在运行,但现在它不再运行了。 - Piyush Patel

16

这个错误是因为你的Eclipse和Tomcat的JRE版本不匹配所引起的...要么将Eclipse版本改成Tomcat版本,要么将Tomcat版本改成Eclipse版本。

两者都应该相同...Java版本不匹配...请检查它。


2
我该如何检查Tomcat和Eclipse的JRE版本?我对此很陌生...谢谢。 - Abhi
3
检查 Apache 的 Java 版本:访问 https://dev59.com/AG025IYBdhLWcg3whGax该页面提供了有关如何查找 Tomcat6 使用的 Java 版本的详细说明。 - Suresh Atta
4
在 Eclipse 中查看:窗口 > 首选项 > Java > 已安装的 JRE - Suresh Atta
我刚刚配置了构建路径:项目 -> 右键单击 -> 构建路径 -> 库 -> 检查 JRE 版本是否正确;如果不正确,则删除并添加正确的版本。 - Manu
1
@Suresh Atta:我已经尽力了,但是没有成功。https://dev59.com/PV4b5IYBdhLWcg3wtj3Y - Farhan stands with Palestine
@PhilipRego 请不要只看答案,通过阅读评论来帮助自己。评论也是答案的一部分。 - Suresh Atta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接