본문 바로가기

Program/Java

JAVA Version!!

WIPI Jlet 개발 중 이통사 COD 컴파일을 하다 Java 버전 오류가 나는 경우가 있다.

단독 프로젝트라면 이런 경우가 드물지만...서버와의 연동을 위한 프로토콜이나

라이브러리, 모듈등을 클라이언트 개발자가 아닌 서버개발자분이나 유틸개발자가 만들어

배포한 걸 사용하는 경우  종종 발생한다.

배포한 분의 개발환경 상에 오류가 없다..하지만 COD 컴파일을 진행하면 자바 버전 에러가

발생한다.

이런 경우 울트라에디터등 간단한 헥사에디터만 있다면

클래스 파일을 열어서 헥사코드로 자바버전을 확인 할 수 있다.

Java class를 울트라에디터 같이 HEX 모드로 볼 수 있는 편집기로 열어본다.
 
그러면 맨앞에 다음과 같이 시작한다.
 
00000000h: CA FE BA BE 00 00 00 32 00 67 07 00 02 01 00 27 ...
 
CA FE BA BE 는 Java class라는 Magic Number이고 그 뒤에 java class version이 보인다.
 
위의 경우는 32인데 이것은 16진수이고 10진수로 계산하면 50 이된다.
 
즉 이 JAVA CLASS 의 VERSION 은 50이라는 것이다.

JDK 버전마다 CLASS 버전은 다음과 같다.

45: java 1.3, 48: java 1.4.2, 49: java 5, 50: java 6




'Program > Java' 카테고리의 다른 글

Eclipse Properites Editor  (0) 2012.01.05
Eclipse - .svn delete  (1) 2012.01.03
Compile recursively with javac  (1) 2011.12.30
JAVA Eclipse GUI ToolKit  (5) 2011.07.15
Ant MANIFEST.MF Class-Path  (2) 2011.01.10