Subscription Form
Contributors

아주가끔 디플로이시에 아니면 소스반영시에 잘못된 버젼으로 컴파일된 클래스파일로 인해서
생소한 에러를 토해낼때가 있습니다. 마침 유용한 샘플코드가 있네요.

출처: http://neouser.tistory.com/241

생성된 class 파일의 버전을 몰라 애먹는 경우가 있어 구해놓습니다.
보통의 class 파일은 우리가 알고있는 이상의 로그정보를 가지고 있습니다.
주석, 컴파일된 내용 등등..
class를 날렵하게 생성하신다면 javac 당시에 옵션! 주는거 잊지 마세요.

import java.io.*;

public class ClassVersionChecker {
   public static void main(String[] args) throws IOException {
       for (int i = 0; i < args.length; i++)
           checkClassVersion(args[i]);
   }

    private static void checkClassVersion(String filename)
       throws IOException
   {
       DataInputStream in = new DataInputStream
        (new FileInputStream(filename));

       int magic = in.readInt();
       if(magic != 0xcafebabe) {
         System.out.println(filename + ” is not a valid class!”);;
       }
       int minor = in.readUnsignedShort();
       int major = in.readUnsignedShort();
       System.out.println(filename + “: ” + major + ” . ” + minor);
       in.close();
   }
}

 

Total
0
Shares

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다