UnsupportedClassVersionError在Tomcat 7中部署webapp

时间:2014-04-30 23:51:06

标签: java eclipse maven jboss tomcat7

我在Tomcat7中部署了一个Web应用程序,它是由Eclipse使用Java Oracle 1.7构建的。

我收到此错误,似乎表明正在使用不同的Java版本。 但是,当我运行java -version时,我会得到' java版本" 1.7.0_51"'与编译版本版本相同。

应该注意的是,这个web应用程序在eclipse tomcat服务器环境中运行良好,但在主tomcat安装中部署时似乎不起作用。

  

01-May-2014 00:37:46 org.apache.catalina.startup.HostConfig deployWAR   信息:部署Web应用程序存档/var/lib/tomcat7/webapps/prov.war   log4j:WARN没有为logger找到appender(org.jboss.resteasy.plugins.server.servlet.ConfigurationBootstrap)。   log4j:WARN请正确初始化log4j系统。   log4j:WARN有关详细信息,请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig。   01-May-2014 00:37:47 org.apache.catalina.core.StandardContext listenerStart   SEVERE:将上下文初始化事件发送到类org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap的侦听器实例的异常   java.lang.UnsupportedClassVersionError:uk / co / alexjking / prov / ProvClustererWebApp / ClusterHandler:不支持的major.minor版本51.0(无法加载类uk.co.alexjking.prov.ProvClustererWebApp.ClusterHandler)       在org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2840)       在org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)       在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1668)       在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)       在org.jboss.resteasy.plugins.server.servlet.ConfigurationBootstrap.processScannedResources(ConfigurationBootstrap.java:384)       在org.jboss.resteasy.plugins.server.servlet.ConfigurationBootstrap.createDeployment(ConfigurationBootstrap.java:181)       在org.jboss.resteasy.plugins.server.servlet.ListenerBootstrap.createDeployment(ListenerBootstrap.java:32)       在org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap.contextInitialized(ResteasyBootstrap.java:27)       在org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4779)       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5273)       在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)       在org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)       在org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)       在org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)       在org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)       在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)       在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)       at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)       在java.lang.Thread.run(Thread.java:701)       01-May-2014 00:37:47 org.apache.catalina.core.StandardContext startInternal       严重:错误listenerStart       01-May-2014 00:37:47 org.apache.catalina.core.StandardContext startInternal       严重:由于先前的错误,上下文[/ prov]启动失败       01-May-2014 00:37:47 org.apache.catalina.core.StandardContext listenerStop       SEVERE:异常将上下文销毁事件发送到类org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap的侦听器实例       显示java.lang.NullPointerException       在org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap.contextDestroyed(ResteasyBootstrap.java:37)       at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4819)       在org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5466)       在org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)       在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)       在org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)       在org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)       在org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)       在org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)       在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)       在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)       at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)       在java.lang.Thread.run(Thread.java:701)

为了完整起见,该项目使用Maven构建并使用Resteasy。

1 个答案:

答案 0 :(得分:0)

您的tomcat配置必须使用不同的java版本。检查catalina.sh / catalina.bat,并检查这些文件中提到的java版本。 默认情况下它使用JAVA_HOME,所以如果你已经正确设置并且没有使用tomcat sh / bat文件,那么它应该可以工作。