Monday, August 17, 2009
Antでプロジェクトに依存するjarファイルなどをWebサーバからダウンロードする
ant でJavaをコンパイルするときに依存するライブラリを 必要に応じてWebサイトからダウンロードして利用することがよくあります。
このときの build.xml の書き方のメモ。
build.xml
<?xml version="1.0" encoding="UTF-8" ?>
<project default="jdom.jar">
<target name="jdom.jar" depends="init" unless="exists.jdom.jar">
<echo > ${exists.jdom.jar} </echo>
<get
src="http://foobar.net/jdom.jar"
dest="jdom.jar"
username="${username}"
password="${password}" />
</target>
<target name="clean" >
<delete file="jdom.jar" />
</target>
<target name="init">
<property name="username" value="hoge" />
<property name="password" value="hogehoge" />
<available file="jdom.jar" property="exists.jdom.jar" />
</target>
</project>
このコードは、
http://foobar.net/jdom.jar から jdom.jar をダウンロードします。
(基本認証でユーザ名が hoge パスワードが hogehoge の設定になっていると仮定。)
ポイントは、< available > タスクと unless="exists.jdom.jar" です。 これによりローカルにjdom.jarが既に存在している場合は、getタスクは実行されません。 (毎回、jdom.jar がダウンロードされるのを防ぎます。)
