感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Antの基礎 まとめ

<スポンサーリンク>

Java EEの開発の勉強をしていると、なんか本ではAntを使ってビルドしているところが多い。
会社ではMavenだけど。そこで、これを機にAntをちゃんと勉強しようと思う。

Antの由来

Antの作者James Duncan Davidsonによると、Antは「Another Neat Tool(もう1つのイケてるツール)」の略。
そして、よく働くとか、重い物を運べる、という蟻にちなんだ名前になった。
もともとはTomcatをビルドするためのツールだった。

build.xml

Antを実行する際に、どのソースファイルをコンパイルするか、どれとどれのファイルをパッケージ化するかなどのルールを記述するもの。
ビルドファイルはAntにより、記述順に処理される。上から下へ。左から右へ処理されるのは大原則だ。

・プロジェクトの定義

<project name="プロジェクトの名前" default="ターゲット名" basedir="規定ディレクトリ">

</project>

※name,default,basedirといった、属性は省略可能。

antの実行時に

> ant

と実行すると、defaultで指定されたターゲットが実行される。

> ant compile

と指定すると、compileターゲットが実行される。

<delete>

ファイルやディレクトリを削除するためのタスク

JRE・・・Javaを実行するための環境を提供するのが目的のため、javacを提供していない。
Antを利用するにはJDKをインストールする必要がある。

ターゲットについて

■jar

<jar>

jar(Java ARchive)ファイルを作成する。
・属性
destfile:作成するjarファイル名を指定する
basedir:jarファイルにアーカイブするディレクリ名を指定する
compress:圧縮するかどうかを指定する
encoding:エンコーディングを指定する

■javac

<javac>

・属性
srcdir(必須):ソースパスを指定する。
destdir:クラスファイルを生成するディレクトリを作成する
debug:デバッグ情報月でクラスファイルを生成するかどうかを指定する
encofing:Javaソースファイルのエンコーディングを指定する
(使用例)
One.javaとTwo.javaをコンパイルして、Three.jarパッケージ化する

<jar destfile="Three.jar"
	 basedir="." includes="One.class, Two.class" />

あるいは、targetで指定してコンパイルからまとめて実行する場合などは・・・

<target name="all">
	<javac srcdir="." destdir="."/>
	<jar destfile="Three.jar" basedir="." includes="*.class"/>
</target>

のように記述する。
target name="compile"とtarget name="jar"を別にしても良い。その際はdepends属性を指定し、依存関係を定義する。

Antのライブラリ

基本的にはjarをANT_HOME以下のlibにコピーするだけで拡張可能。
・Xalan-Java
BCEL
XDoclet
などがあるようだ。

読んだ本

Javaプログラミングツールズ1 Apache Ant

Javaプログラミングツールズ1 Apache Ant


本当に素晴らしい本。まさにAntのAll in Oneで、Maven使う人も、Ant使う人も、読んでおくべき本だと思う。

感謝のプログラミング

今回で感謝のプログラミングは【259時間目】
10000時間まで、あと【9741時間】