자바 컴파일 커맨드인 javac 에서 사용할 수 있는 몇가지 유용한 옵션입니다.
하위 jdk 버전에서도 실행되도록 할 때는 -source, -target 옵션을 사용합니다.
예를 들어 java 1.6 에서 컴파일하지만 java 1.5 에서 실행가능하도록 할 때는 -source 1.5 -target 1.5 옵션을 사용하면 됩니다.
-source <release> Provide source compatibility with specified release
-target <release> Generate class files for specific VM version
이 옵션 사용시 이런 경고가 발생할 수 있습니다.
warning: [options] bootstrap class path not set in conjunction with -source 1.5
기본적으로는 이전 버전(ex. 1.5 버전)의 rt.jar 위치를 명시해 주어야 합니다. (하지 않으면 위와 같은 경고가 발생하는 것임)
또한 이전 버전에서 지원되지 않는 기능은 사용할 수 없습니다.
예를 들면 switch 에서 string 을 사용하는 것은 java 1.7 이상부터 사용할 수 있는데 -source 1.5 를 사용한다면
error: strings in switch are not supported in -source 1.5
(use -source 7 or higher to enable strings in switch)
가 발생합니다.
그리고 class 파일 실행시 한글이 깨진다면 -encoding 옵션을 사용하여 컴파일합니다.
-encoding <encoding> Specify character encoding used by source files