본문으로 바로가기

[Tomcat 에러] Unsupported major.minor version 51.0

category 3. 웹개발/3_2 Error모음 2016. 9. 21. 17:24
반응형

 


 

[Tomcat 에러] Unsupported major.minor version 51.0

 

에러 원문


java.lang.reflect.InvocationTargetException
 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:597)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.UnsupportedClassVersionError: com/netflix/hystrix/contrib/metrics/eventstream/HystrixMetricsStreamServlet : Unsupported major.minor version 51.0 (unable to load class com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet)
 at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2858)
 at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
 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:294)
 at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1047)
 at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:265)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4616)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1060)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1060)
 at org.apache.catalina  오후 05:08


 

 

자바의 컴파일 버전이 달라서 나아나는 에러이다.

 

발생 CASE

ex) tomcat 6에서 jdk 1.7로 컴파일된 프로젝트를 실행시킬 때

ex) 자바1.7로 컴파일하고 자바1.6 버전이 깔린 PC에서 실행했을때

 

해결방법

1. jdk 컴파일 버전을 1.6으로 내린다. (추천하지 않음)

 - 캐스팅문제 등 기타 문제로 오류가 날 수도 있다.

2. Tomcat7을 사용한다.

3. 이클립스의 자바 버전을 실행할 PC버전에 맞춘다.

 - 해당 프로젝트의 속성에 들어간후, Java Compiler에서 PCP버전에 맞도록 Compiler compliance level를 설정하고 재빌드

4. PC에 이클립스와 동일한 자바를 설치하고 설정을 잡아 준다.

 - 이클립스의 프로젝트 속성에서 빌드된 자바 버전을 확인후 PC에 설정하고 세팅 다시 해줌.

 

 

참고 뒤쪽 51.0 이라는 숫자는 에러가 나는 컴파일 버전(이클립스 버전) 이다.

 

version 51.0 ㅡ> 컴파일 버전 1.7

version 50.0 ㅡ> 컴파일 버전 1.6

version 49.0 ㅡ> 컴파일 버전 1.5

version 48.0 ㅡ> 컴파일 버전 1.4

 

반응형

댓글을 달아 주세요