大量の変数はいらない
色々と変数を置きがちなAntですが、むしろよくわからなくなります。
変数は最低限の方がいいと思います。
ここでは変数なし!
Antのbuild.xmlの最小構成 (mainメソッド実行編)
javaのmainメソッドを実行する
この例ではpkg.Aaaのmainメソッドを実行する。
<?xml version="1.0" encoding="UTF-8"?>
<project default="run" basedir=".."> <!-- 「projectName/ant/build.xml」の構成を想定しているので、とりあえず親パスをbasedirにしておく。 -->
<target name="run">
<mkdir dir="build"> <!-- 「projectName/build」などにコンパイル先を作成 -->
<javac src="src" destdir="build" includeantruntime="false" encoding="UTF-8"> <!-- 作成した場所にビルド -->
<classpath>
<fileset dir="lib" includes="**/*.jar"/> <!-- ライブラリは大体projectName/libディレクトリにあると思うのでビルド時にそれをクラスパスに通す -->
</classpath>
</javac>
<copy todir="build"> <!-- classファイル以外もコピーしてくる。これは忘れないように。src配下にjavaの設定ファイルとかを置いたとき詰みます。やっておいた方が後悔しづらい。 -->
<fileset dir="src">
<exclue name="**/*.java"/>
</fileset>
</copy>
<java classname="pkg.Aaa" fork="true" failonerror="true"> <!-- 実行 -->
<jvmarg value="-Dfile.encoding=UTF-8"/>
<classpath>
<pathelement path="ant/build"/> <!-- classファイルを渡す-->
<fileset dir="lib" includes="**/*.jar"/> <!-- ライブラリは大体projectName/libディレクトリにあると思うので実行時にそれをクラスパスに通す -->
</classpath>
</java>
目的:「eclipseでメインメソッドにフォーカス当ててCtrl+F11押してください」とか言えない…ダサい…手順として成り立たない…というときに使う
Antのbuild.xmlの最小構成 (実行可能Jar作成編)
jarを作る
この例ではAaa.jarを作成する。
java -jar Aaa.jarでpkg.Aaaのメインメソッドを動かせる。
<?xml version="1.0" encoding="UTF-8"?>
<project default="run" basedir=".."> <!-- 「projectName/ant/build.xml」の構成を想定しているので、とりあえず親パスをbasedirにしておく。 -->
<taget name="run">
<mkdir dir="build"/> <!-- 「projectName/build」などにコンパイル先を作成 -->
<javac srcdir="src" destdir="build" includeantruntime="false" encoding="UTF-8"> <!-- 作成した場所にビルド -->
<classpath>
<fileset dir="lib" includes="**/*.jar"/> <!-- ライブラリは大体projectName/libディレクトリにあると思うのでビルド時にそれをクラスパスに通す -->
</classpath>
</javac>
<copy todir="build"> <!-- classファイル以外もコピーしてくる。これは忘れないように。src配下にjavaの設定ファイルとかを置いたとき詰みます。やっておいた方が後悔しづらい。 -->
<fileset dir="src">
<exclue name="**/*.java"/>
</fileset>
</copy>
<jar basedir="build" destfile="dist/Aaa.jar"> <!-- 「projectName/dist」フォルダなどに投入 -->
<manifest>
<attribute name="Main-Class" value="pkg.Aaa"/> <!-- 実行可能ファイルのとき(java -jar Xxx.jarとかで起動させたいとき)だけ必要 -->
</manifest>
</jar>
</target>
</project>
目的:「eclipseでエクスポートしてください」とか言えない…ダサい…手順として成り立たない…というときに使う