Java - Class 버전 확인
Posted 01 19, 2012 16:54, Filed under: Language/JAVA
관련 에러 : java.lang.UnsupportedClassVersionError
상위 버전의 JVM에서 컴파일된 클래스를 하위 버전의 JVM에 실행시킬 경우
java.lang.UnsupportedClassVersionError 가 발생을 한다.
(물론 하위버전의 JVM에서 컴파일된 클래스는 상위버전의 JVM에 실행됨)
1. JDK별 Java Class Version
JDK 1.6 => 50.0 (32H)
JDK 1.5 => 49.0 (31H)
JDK 1.4 => 48.0 (30H)
JDK 1.3 => 47.0 (2fH)
참고로 JDK 1.4.2 (다른 버전의 경우는?) 에서 컴파일된 클래스의 경우는 호환성 유지를 위해
Class Version이 46 (2eH)으로 표시됨
2. Class파일의 버전 확인 방법 (Hex Editor로 확인)
UltraEditor등의 Hex Editor를 이용하여 클래스파일을 직접 확인
00000000h: CA FE BA BE 00 00 00 31 00 69 0A 00 21 00 2E 0A
- CA FE BA BE : Java Class라는 Magic Number
- 31: Java Class Version (10진수로 49 -> JDK 1.5)
3. Class파일의 버전 확인 방법 (javap 로 확인)
JDK의 javap 커맨드를 이용하여 major version 확인
[test@test util]$ javap -verbose RequestUtil
Compiled from "RequestUtil.java"
public class kr.abc.util.RequestUtil extends java.lang.Object
SourceFile: "RequestUtil.java"
minor version: 0
major version: 49
Constant pool:
const #1 = class #2;
출처 : http://blog.naver.com/jwjanguis?Redirect=Log&logNo=70037808263
"Language / JAVA" 분류의 다른 글
| Java - SimpleFormController - 조건 값에 따른 showForm 페이지 이동 (0) | 2011/11/30 |
| Java - getProperties 사용하여 현재 시스템의 정보를 추출 (0) | 2011/08/07 |
| Java - Jfreechart 패키지 이용 차트만들기 (0) | 2011/01/05 |
| Java - JfreeChart 사용시 한글깨짐(jar 파일 font 수정) (0) | 2011/01/04 |
| Java - Zip 파일 형식 압축및 압축풀기(한글깨짐방지 - jazzlib 사용) (8) | 2010/04/14 |
| Java - compile및 jar 파일 생성 (0) | 2010/04/14 |
| Java - BigDecimal의 필요성 (0) | 2009/10/31 |
| Java - Date, GregorianCalendar, 날자 연산 더하기, 빼기 (0) | 2009/08/17 |
| Java - Commons Net의 FTPClient 사용하여 FTP 접속및 파일 컨트롤 (0) | 2009/08/05 |
| Java - 특수문자 제어 Util (0) | 2009/07/17 |
Trackback URL : http://develop.sunshiny.co.kr/trackback/693