Google AdSense


[Ant] 컴파일 타깃 버전 변경 by Sigel

새로 라이브러리를 만들었다. 컴파일하고 jar 파일을 생성해서 테스트 서버로 옮겨서 실행을 시켰다. 그런데 아래와 같은 예외를 뱉으며 실행이 안되는 것이 아닌가~


java.lang.UnsupportedClassVersix-onError: Bad version number in .class file


예외 메시지를 읽어보니 컴파일된 .class 파일의 버전이 실행하는 java의 버전과 맞지 않아서 나오는 것 같다. 예를 들어 컴파일은 JDK6버전으로 하고 실행은 JDK5버전으로 실행하는 경우 이런 예외를 볼 수 있다. 반대로 JDK5로 컴파일 하고 JDK6으로 실행하면 정상적으로 동작한다. 왜냐?? 당연히 하위 버전을 지원해 줘야 사람들이 계속 쓰겠지??

아무튼.. 테스트 서버가 JDK5버전이 설치되어 있어서 이클립스 설정도 5버전으로 바꾸고 라이브러리를 개발했는데 왜 이런 메시지가 나올까~~?? 이상하다 싶었는데 생각해보니 ant로 컴파일하고 jar 파일로 만든 것을 잊고 있었다. -ㅅ-;;; 이클립스만 바꿔주면 뭐하니.. 컴파일을 ant로 했는걸 =ㅅ= 그래서 아주 간단하게 ant build 파일 수정~

<javac target="1.5">
    ...
</javac>

ant build 파일에서 컴파일하는 javac 태스크의 target버전을 지정해 주면 된다.


- Ant Manual
- Ant javac 태스크


트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://entireboy.egloos.com/tb/4159260 [도움말]

덧글

덧글 입력 영역