자바 컴파일 커맨드인 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