Struts 2 documentaion at * http://struts.apache.org/2.x/docs/building-the-framework-from-source.html* implies (at the bottom of the page) that only java 1.5 is required. But when I deploy my app to a tomcat 5.5.27 server using jdk 1.5.0_20, I get the UnsupportedClassVersionError below. Am I right in believing that this error is because some struts class file has been compiled with a later java version?
My webapp uses jar files from struts 2.1.8.1 Tomcat stdout: Feb 19, 2010 11:32:50 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: F:\Program Files\Java\jdk1.5.0_20\bin;.;F:\WINDOWS\system32;F:\WINDOWS;F:\Program Files\Java\jdk1.5.0_20\jre\bin;F:/Program Files/Java/jre1.5.0_20/bin/client;F:/Program Files/Java/jre1.5.0_20/bin;F:\WINDOWS\system32;F:\WINDOWS;F:\WINDOWS\System32\Wbem;F:\Program Files\Common Files\Roxio Shared\DLLShared\;F:\Program Files\Common Files\Adobe\AGL;F:\development\thinkmap\apache-ant-1.7.1\bin;F:\development\jdk1.6.0_16\bin;F:\development\mysql\bin;f:\util;F:\Program Files\QuickTime\QTSystem\;F:\development\sun\sdk\bin;F:\Sun\SDK\bin Feb 19, 2010 11:32:50 AM org.apache.coyote.http11.Http11BaseProtocol init INFO: Initializing Coyote HTTP/1.1 on http-9081 Feb 19, 2010 11:32:50 AM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 875 ms Feb 19, 2010 11:32:50 AM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Feb 19, 2010 11:32:50 AM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.5.27 Feb 19, 2010 11:32:50 AM org.apache.catalina.core.StandardHost start INFO: XML validation disabled Feb 19, 2010 11:32:51 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts-default.xml] Feb 19, 2010 11:32:51 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Unable to locate configuration files of the name struts-plugin.xml, skipping Feb 19, 2010 11:32:51 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts-plugin.xml] Feb 19, 2010 11:32:51 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Parsing configuration file [struts.xml] Feb 19, 2010 11:32:51 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info INFO: Loading global messages from global-messages Feb 19, 2010 11:32:52 AM org.apache.catalina.core.StandardContext filterStart SEVERE: Exception starting filter struts2 *java.lang.UnsupportedClassVersionError: Bad version number in .class file* at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1876) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:889) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1353) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357) at java.lang.Class.getConstructor0(Class.java:2671) at java.lang.Class.getConstructor(Class.java:1629) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:403) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:354) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:468) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:264) at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardHost.start(StandardHost.java:736) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:448) at org.apache.catalina.core.StandardServer.start(StandardServer.java:700) at org.apache.catalina.startup.Catalina.start(Catalina.java:552) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) Feb 19, 2010 11:32:52 AM org.apache.catalina.core.StandardContext start SEVERE: Error filterStart Feb 19, 2010 11:32:52 AM org.apache.catalina.core.StandardContext start SEVERE: Context [/marmoset] startup failed due to previous errors Feb 19, 2010 11:32:52 AM org.apache.coyote.http11.Http11BaseProtocol start INFO: Starting Coyote HTTP/1.1 on http-9081 Feb 19, 2010 11:32:53 AM org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8010 Feb 19, 2010 11:32:53 AM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/62 config=null Feb 19, 2010 11:32:53 AM org.apache.catalina.storeconfig.StoreLoader load INFO: Find registry server-registry.xml at classpath resource Feb 19, 2010 11:32:53 AM org.apache.catalina.startup.Catalina start INFO: Server startup in 3094 ms Thanks, Bill