ant ANT_HOME環境変数設定

Red Hat Enterprise Linux ES 3でのこと。

たまに ant 使ったら嵌ったのでmemo.

ant を実行すると、以下のエラーメッセージが表示された。

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher

ANT_HOMEが、/usr/share/ant になってしまっているようです。実行時に環境変数 $ANT_HOME を設定しても変化なし。

antのスクリプトを見ると、ant は、/etc/ant.conf、~/.ant/ant.conf、~/.antrc の順にファイルが存在してたら読み込むようになってました。

~/.antrcを用意して正しいANT_HOMEを設定するようにしたら、ビルドできるようになりました。

~/.antrc
ANT_HOME=/usr/local/ant

環境変数を上書きする設定ファイルって。何か違和感を感じました。configファイルをスクリプトでsourceしてるんだから当然ですが、UNIX的には、優先度は「設定ファイル < 環境変数 < コマンドラインオプション」じゃないかな。

前も同じことで嵌った記憶が。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください