Thu, April 12, 2007
AntをMacOSXで使うときにJDK1.4でコンパイルしたい
ソフトウェアをリリースするときに、JDK1.4でコンパイルしてリリースしたい場合が多い。 (現在のところ)
結論
手元のMacOSX10.4 は自動アップデートでデフォルトはJDK1.5になっているものの システムには、JDK1.4もインストールされているので、これを使う。
JDK1.4は以下のパスにインストールされているので、 以下のようなシェルスクリプトを使って、ant を起動すればよい。
export JAVACMD=/System/Library/Frameworks/JavaVM.framework/Versions/1.4/Home/bin/java
ant
MacOSXのJava事情
$ which java
/usr/bin/java
whichで調べると、/usr/bin/java を使っていることになっているが、 実際には、/usr/bin/java は /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Commands/java にリンクされていました。
lsしてみると、 たくさんのバージョンのJavaVMが入っているのがわかります。
$ ls /System/Library/Frameworks/JavaVM.framework/Versions/
javaを起動するときに、以下のように使いたいJavaVMのバージョンの入った パスを明示して起動すればよい。
$ /System/Library/Frameworks/JavaVM.framework/Versions/1.4/Home/bin/java
Antから特定のバージョンのJavaを使うにははどうするか
antコマンドは、/usr/bin/ant 。
vi /usr/bin/ant などして中を確認したところ、
{strong:JAVACMD という環境変数が定義されていれば、それを使う}
ことになっていた。
したがって、以下の通り。
export JAVACMD=/System/Library/Frameworks/JavaVM.framework/Versions/1.4/Home/bin/java
ant