java.lang.UnsupportedClassVersionError

java.lang.UnsupportedClassVersionError: spring/TestGreeting (Unsupported major.minor version 49.0) java.lang.UnsupportedClassVersionError: Bad version number in .class file

위 상황은 6.0에서 컴파일한 클래스를 5.0에서 돌렸을 때 발생
아마 5.0에서 컴파일한 클래스를 그 하위 버전에서 실행시켰을때 일거 같다.

 

Exception in thread "main" java.lang.UnsupportedClassVersionError: Xxx has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 52.0

STS - Java Build Path - JRE 1.8, Project Facets - Java 1.4 였음. 1.8로 설정해서 처리

 

클래스 버전(java.class.version)

  • version 50.0 : 6.0
  • version 49.0 : 5.0
  • version 48.0 : 1.4
  • 46 이 1.2 라고는 하지만, 이 문서에서는 1.4.1
    Eclipse에서 Generated .class files compatibility를 1.2로 했을 때 46으로 나타남.