웹 개발

class 파일의 java(jdk) 버전 확인하는 방법

노루아부지 2021. 5. 17. 22:34

java로 개발을 하다 보면 미처 신경을 못써서 개발환경의 jdk와 운영환경의 jdk가 다른 경우가 있는데, 기본적으로 java에서 하위 호환은 되지만, 상위 호환은 되지 않습니다.

예를 들어 java8로 컴파일된 class는 java 9에서 실행이 되지만, java 7에서는 실행이 되지 않습니다.

 

이와 같이 더 높은 버전의 java에서 컴파일 된 class 파일을 낮은 버전에서 실행하려고 할 경우 다음과 같은 에러가 발생합니다.

 

- java.lang.UnsupportedClassVersionError
- Unsupported major.minor version xx

 

보통은 내가 컴파일한 java버전을 알고 있을 경우도 있지만 어떤 이유로 class파일이 어떤 버전의 java로 컴파일되었는지 찾아야 할 경우가 있습니다.

 

이때 javap 명령어를 사용하여 알아낼 수 있습니다.

- java -verbose 경로

- java -v 경로

 

둘 다 같은 결과를 얻을 수 있습니다.

 

class 파일의 클래스 버전 확인하는 방법class 파일의 java(jdk) 버전 확인하는 방법

 

 

그런데 우리가 알고 있는 jdk 버전은 6, 7, 8 등인데 여기서는 55라고 표시가 되는데요

그렇다면 55는 우리가 알고 있는 java 버전 몇일까요?

 

 

java version 별 major version number

  • Java 1.2 uses major version 46
  • Java 1.3 uses major version 47
  • Java 1.4 uses major version 48
  • Java 5 uses major version 49
  • Java 6 uses major version 50
  • Java 7 uses major version 51
  • Java 8 uses major version 52
  • Java 9 uses major version 53
  • Java 10 uses major version 54
  • Java 11 uses major version 55
  • Java 12 uses major version 56
  • Java 13 uses major version 57
  • Java 14 uses major version 58
  • Java 15 uses major version 59
  • Java 16 uses major version 60

 

 

 

참고 사이트

https://stackoverflow.com/questions/9170832/list-of-java-class-file-format-major-version-numbers

https://greatkim91.tistory.com/66

https://m.blog.naver.com/PostView.nhn?blogId=afx9523&logNo=221225047526&proxyReferer=https:%2F%2Fwww.google.com%2F 

 

728x90
loading