EclipseのAntのbuild.xmlを作成して実行するサンプルです。
hello worldの表示とJavaのクラスのコンパイルを行います。
(確認環境:Windows10,Java8,Eclipse 4.8,Apache Ant 1.10.3)
目次
サンプル | build.xmlを作成する |
build.xmlを修正する(Hello Worldを表示) | |
Ant buildを実行する | |
build.xmlを修正する(Javaクラスをコンパイルする) | |
build.xmlでコンパイルして確認する方法 |
build.xmlを作成する
build.xmlを新規作成します。
1.現時点では、Javaプロジェクトにクラスが1つのみの状態です。
2.プロジェクトを右クリックしてエクスポートをクリックします。
3.「一般」→「Antビルドファイル」をクリックし次へを押します。
4.プロジェクトにチェックを入れ完了ボタンを押します。
5.build.xmlが作成されました。
build.xmlを修正する(Hello Worldを表示)
build.xmlを修正してHello Worldを表示するように修正します。
build.xmlはダブルクリックで開きます。
4行目のecho messageで指定した文言を表示します。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="init">
<target name="init">
<echo message="Hello World"/>
</target>
</project>
Ant buildを実行する
作成したbuild.xmlを実行します。
1.build.xmlを右クリックし「実行」→「1 Antビルド」をクリックします。
2.実行が完了するとコンソールにHello Worldが表示されます。
build.xmlを修正する(Javaクラスをコンパイルする)
build.xmlを修正してJavaクラスをコンパイルするように修正します。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project name="test1" default="init" >
<property name="srcdir" value="./src/test1" />
<property name="destdir" value="./bin/test1" />
<target name="init">
<echo message="コンパイルします"/>
</target>
<target name="compile" depends="init">
<javac srcdir="${srcdir}"
destdir="${destdir}"
includeAntRuntime="false"/>
</target>
</project>
2行目のprojectは、1つのみ指定します。defaultは、引数でtargetを指定しないときに行われます。
3,4行目のpropertyは、変数を設定しています。
6,10行目のtargetは、処理のまとまりです。複数設定可能です。target単位での処理が可能です。
10行目のdependsは、10行目のtargetの処理が行われる前のtargetを指定してします。
11行目のjavacは、javacコマンドでコンパイルを行います。
11行目のsrcdirは、javaファイルがある場所です。
12行目のdestdirは、クラスファイルを出力する場所です。
13行目のincludeAntRuntimeは、単語に分割するとinclude Ant Runtimeです。AntのRuntimeは不要なのでfalseにしています。
以下は、Apache Ant Tasksのリンクです。
https://ant.apache.org/manual/tasksoverview.html
build.xmlでコンパイルして確認する方法
build.xmlでコンパイルして、コマンドプロンプトのjavaコマンドで反映されているか確認します。
1.Eclipseの「プロジェクト」→「自動的にビルド」を外します。
2.javaファイルを更新した後に、build.xmlを実行します。javaファイルを更新しないとコンパイルされません。
build.xmlを右クリックし「実行」→「2 Antビルド」をクリックします。
3.「ターゲット」を選択し「compile」にチェックを入れて実行を押すとjavacコマンドが実行されます。compileという名称は、build.xmlの10行目のnameの値です。
4.コマンドプロンプトでjavaコマンドを実行して確認します。
以下のソースコードが対象とします。
package test1;
public class Test1 {
public static void main(String[] args) {
System.out.println("test1");
}
}
5.コマンドプロンプトでjavaコマンドを実行します。
ポイントは、1.javaコマンドの引数にパッケージ名(test1)を指定した後にクラス名(Test1)を指定します。
2.javaコマンドを実行する場所は、Test1.classがあるパッケージのフォルダ内(test1)ではなく、1つ上のフォルダ(bin)で実行します。
関連の記事
JenkinsでAntのbuild.xmlを実行するサンプル