아주가끔 디플로이시에 아니면 소스반영시에 잘못된 버젼으로 컴파일된 클래스파일로 인해서
생소한 에러를 토해낼때가 있습니다. 마침 유용한 샘플코드가 있네요.
출처: http://neouser.tistory.com/241
보통의 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();
}
}