Apache Antの使い方

Apache Antをダウンロードします。

http://ant.apache.org/

ダウンロードしたら、C:\[インストールディレクトリ]\binにPathを通します。

パスが通っているかは以下で確認します。

デフォルトのbuild.xmlの場所は、-fileオプションで指定します。

以下、例です。

<delete dir=ディレクトリ名/>で、指定のディレクトリを削除します。以下、例です。

javacコマンドのよくあるエラーです。

Unable to find a javac compiler;

環境変数にJAVA_HOMEを追加します。

Pathに「%JAVA_HOME%\bin」を追加し、コマンドラインを立ち上げなおすと解決します。antのbinよりも前にこのパスを追加します。

クラスパスが通ってない場合に上記エラーとなります。

javac内でclasspathを通します。

このファイルでantを実行します。

以下のメッセージが表示されればビルドOKです。

zipで圧縮する

Antのzipタスクで圧縮することができます。

update=”yes”とすると、既に同名の圧縮ファイルが存在する場合、上書きされるようです。

が、Ant1.8.2でテストすると、上書きしてくれません。

update=”true”としても、上書きはしてくれません。

代替案として、ファイル削除してから圧縮します。

ファイル(フォルダ)を削除する

上記でファイルを削除することができます。

ファイル内の文字列を置換する

replaceタスクでファイル内の特定の文字を置換することができます。

上記は、a.txt内のaaaという文字列をbbbに全部変換します。

コピーする

copyタスクでtodir属性でコピー先を指定し、<copy>~</copy>内でコピー元を指定します。

コピー時に「due to can’t write to read-only destination file」とエラーが出たら読み取り専用の為にコピーが出来ないというエラーなので、force=true属性を追加します。(Ant1.8.2より追加された属性)

コピー時に特定ファイルを除外する

コピーする時に特定のファイルのみコピーしたくない場合があります。

そういう場合は

excludes=で指定します。この時、「**/ファイル名」とします。これでa.propertiesのみコピーされません。

Antのメモリサイズを増やす

環境変数を指定することにより、Antが使用するメモリを指定することができます。

JenkinsでAntを使用するとUNCがサポートされない不具合がある

なんとJenkins2.46.1+Ant Plugin1.4で、UNCがサポートされないという致命的な不具合があります。

JenkinsのUNC不具合は以下でなおっているので、Ant Plugin1.4のバグかと思われます。

https://issues.jenkins-ci.org/browse/JENKINS-19821

Unable to locate tools.jar. Expected to find it

Ant実行時に「Unable to locate tools.jar. Expected to find it」とエラーが出たら、%JAVA_HOME%を環境変数に設定されていないのが原因です。

%JAVA_HOME%を設定することでこのエラーは出なくなります。

変数名をデバッグする

Antのbuildファイルが複雑になると、変数がわけわからなくなってきます。

こういうときは-debugオプションを使用します。

これで定義した変数全てが何を表わしているかすべて表示されます。

echoタスクを使用する

echoタスクを使用するとデバッグなどに便利です。

とすると変数名が出力されます。

とすると、testと出力されます。コメントなどのしようにも便利かもしれません。

バッチファイルからantを実行する場合はcallする

バッチファイルでantを実行する場合があると思います。

が、これをしてしまうと、ant実行後の後続処理が実行されません。

そのため、バッチファイルでantを実行する際は必ず以下のようにcallします。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

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

CAPTCHA