2012-12-05 5 views
0

Tomcat 5.5 + Java 1.5를 실행하는 서버에 Spring 3.1.2를 사용하여 빌드 된 웹 응용 프로그램을 배포하려고합니다. 이 응용 프로그램은 Tomcat 6 + Java 1.6이 설치된 로컬 컴퓨터에서 완벽하게 작동하며 서버에없는 것으로 상상할 수 있습니다. JDK 1.5로 내 자신의 클래스를 컴파일 할 수는 있지만, 스프링 라이브러리로하는 방법을 모르겠습니다.Tomcat 5 + Java 1.5에서 Spring 3.x를 배포하는 UnsupportedClassVersionError

UPDATE :

내가 자바 1.5로 컴파일하고있어 확인이가 내 pom.xml 파일에서

:

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
     <source>1.5</source> 
     <target>1.5</target> 
    </configuration> 
</plugin> 

을 그리고 이것은 내가지고있어 스택 트레이스입니다 :

09:21:37,940 ERROR [[/saml2Sample]:3767] Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.saml.SAMLBootstrap#0' defined in class path resource [security/securityContext.xml]: Instantiation of bean failed; nested exception is java.lang.UnsupportedClassVersionError: Bad version number in .class file 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:997) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:943) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1102) 
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:674) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451) 
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383) 
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283) 
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) 
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763) 
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211) 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739) 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) 
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:809) 
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:497) 
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1204) 
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:585) 
at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503) 
at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213) 
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220) 
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815) 
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784) 
at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1377) 
at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:212) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:495) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) 
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) 
at java.lang.Thread.run(Thread.java:595) 
Caused by: 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:1815) 
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:869) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1322) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201) 
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.getDeclaredConstructor(Class.java:1953) 
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:67) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:990) 
... 51 more 

미리 감사드립니다.

답변

0

"WEB-INF/lib"에 모든 스프링 용기를 포장하십시오.

봄 3.1.2. 문서 : http://static.springsource.org/spring/docs/3.1.2.RELEASE/spring-framework-reference/html/new-in-3.0.html#new-in-3.0-intro

자바 SE와 Java EE 지원은

스프링 프레임 워크 이제 자바 5 기반으로, 자바 6 완벽하게 지원됩니다. 동시에 자바 EE에 대한 일부 초기 지원을 소개하면서

또한, 봄, J2EE 1.4와 Java EE 5와 호환 6.

+0

안녕하세요 요젠 드라, 답변 해 주셔서 감사합니다. 모든 항아리가 이미 WEB-INF/lib에 들어 있는지 잘 모르겠지만 Java 1.6을 사용하여 컴파일되고 서버가 Java 1.5를 사용하고 있으므로 UnsupportedClassVersionError를 얻습니다. – Dani

+0

@Dani 답변을 업데이트했습니다. Spring 호환성이 없어야합니다. 오류 스택 추적을 공유하십시오. –

1

난 당신이 봄 클래스를 컴파일의 필요성에 대한 혼란 것 같아요 for Java 5. 당신은 Spring을 다시 컴파일 할 필요가 없다. Spring 3.x가 여전히 Java 5+ JVM 용으로 컴파일되고 있음을 확신한다.

제 생각에는 Java 5 JVM에서 처리 할 수없는 JDK6 용으로 컴파일 된 클래스가 war 파일에 포함되어 있다고 생각합니다. 프로젝트의 컴파일러 설정을 확인하여 1.5 호환 클래스 파일을 생성하는지 확인하십시오. Eclipse에서는 Project Properties/Java Compiler 영역에 있습니다. Ant에서는 javac 작업의 속성입니다. Maven에서는 컴파일러 플러그인 설정이다.

관련 문제