Apache ANT チュートリアル: Ant ビルド ツールとは何ですか? 例
⚡ スマートサマリー
Apache ANTは Java XMLビルドファイルを通じてコンパイル、テスト、パッケージング、デプロイを自動化するビルドツール。この記事では、このツールについて説明します。 tracその歴史を網羅し、 Windows インストール、プロジェクト構造の説明、Mavenとの比較、 Gradle.

ビルドツールとは何ですか?
ビルド ツールは、プログラムの新しいバージョンを構築するために使用されるプログラミング ツールです。 任意のソース コードからの実行可能アプリケーションの作成を自動化します。
ビルドツールがない場合、開発者は変更があるたびに、ソースファイルをすべて手動でコンパイルし、リソースをコピーし、テストスイートを実行し、結果をパッケージ化する必要があります。ビルドツールはこれらの手順を一度記録し、すべてのマシンで同じように繰り返します。
アパッチアントとは?
アパッチアント Javaビルド用のコマンドラインツール Java 純粋な移植性を備えたアプリケーション Java コード。開発者は、アジャイル原則とテスト駆動開発を採用して、ドキュメント生成などの反復的な開発タスクを自動化できます。Ant は、Another Neat Tool の頭文字をとったものです。
図に示すように、Antはビルドファイルを読み込み、その中のターゲットの順序を解決し、アプリケーションのコンパイル、コピー、テスト、パッケージ化を行う個々のタスクを実行します。
Apache Ant Build ツールは何に使用されますか?
ビルドツールを使用する主な利点は以下のとおりです。
- ビルドツールを使用すると、ソースコードのコンパイル、ソフトウェアテストの実行、ソフトウェア展開用のファイルの作成など、特定の反復作業を自動化できます。
- ビルド ツールはほとんどの場合、グラフィカル ユーザー インターフェイスなしで実行されます。
- ソースコードを実行可能なコードに変換するのに役立ちます。
- 必要に応じてのみファイルを再コンパイルするオプションを提供します。
- これにより、多数のファイルを比較的短時間でコンパイルすることが可能になります。
- 広く普及している2つのビルドツール Java 開発者はApacheです 達人 そしてアリ。
Apache Ant の歴史
それでは、Apache Antビルドツールの歴史について学びましょう。
Apache Ant ツールからの重要な歴史的ランドマークを次に示します。
- ジェームズ・ダンカン・デビッドソンは2000年7月にAntを制作した。
- これは元々Tomcatを構築するために使用され、Tomcat配布キットに組み込まれた製品として提供されていました。
- 2014年5月、Apache Antバージョン1.9.4がリリースされ、多くの高度な機能が追加されました。
- 1.10.x系は2017年に開始され、現在も活発にメンテナンスされているブランチです。
- バージョン1.10.17は2026年4月10日にリリースされ、最低限の要件があります。 Java 8 ランタイム。
Apache Antの特徴
Apache Antの主な機能は以下のとおりです。
- これはオープンソースプロジェクトです。
- 両方のプラットフォームでビルドを実行できます Windows およびUNIXまたはLinuxシステム。
- 必要なのは JVMJVMが利用可能な場所であればどこでも動作するからです。
- あらかじめ定義された幅広いタスクを提供します。
- これは、ファイルをある場所から別の場所にコピーするのに役立ちます。
- カスタムタスクを開発するためのインターフェースを提供します。
- これにより、コマンドラインからビルドを呼び出すことができ、簡単に統合できます。 無料および商用の IDE.
- これにより、バイナリをテストサーバーにデプロイできます。
- 拡張可能なアーキテクチャを提供する。
- リリース間での下位互換性を提供します。
Apache Ant をインストールして構成する方法 Windows
それでは、Apache Ant のインストール手順を学びましょう。 Windows.
すでにダウンロードしてインストールしていることを前提としています。 Java 開発キット お使いのコンピュータにJDK(JDK)をインストールしてください。JAVA_HOME環境変数がJDKがインストールされているフォルダに設定されていることを確認してください。Antをインストールするには、以下の手順に従ってください。
ステップ1) バイナリをダウンロードします。
からバイナリをダウンロードします https://ant.apache.org/bindownload.cgi
ステップ2) ファイルを解凍します。
このzipファイルをc:\folderなどの便利な場所に解凍するには、 WinZip, WinRAR, 7-Zipまたは、同様のツール。
ステップ3) 環境変数を作成します。
「ANT_HOME」という環境変数を作成し、その変数の値をAntフォルダの場所に設定します。
- 「このPC」アイコンを右クリックします。
- [プロパティ]をクリックします。
ステップ4) システム設定に移動します。
「システムの詳細設定」をクリックします。
ステップ5) システムのプロパティで、
「詳細設定」タブをクリックしてください。
ステップ6) 環境変数を見つけてください。
「環境変数…」ボタンをクリックしてください。
ステップ7) 新しい変数を作成します。
「新規」をクリックして新しいユーザー変数を作成します。
ステップ8) 変数の詳細を入力してください。
新しいユーザー変数の詳細を入力してください。
- 変数名として「ANT_HOME」と入力してください。
- 変数の値として、Antが解凍されたフォルダを入力してください。例:C:\apache-ant-1.10.17。
- 「OK」ボタンをクリックしてください。
ステップ9) 変数が作成されました。
「OK」ボタンをクリックしてください。
ステップ10) 画面を閉じます。
「OK」をクリックして画面を閉じます。
💡ヒント: ANT_HOMEはインストールフォルダ自体を指している必要があり、その中のbinフォルダを指してはいけません。次に以下を追加します。 %ANT_HOME%\bin Path変数に追加することで、antコマンドがどのディレクトリからでも認識されるようになります。
Ant のインストールが成功したかどうかは、以下のコマンドで確認できます。ping コマンドプロンプトで「ant -version」コマンドを実行します。
次の画面が表示されます。
Apache ANTの例
以下のビルドファイルは、helloという名前の単一のターゲットを定義しており、このターゲットはメッセージを表示します。project要素は名前とデフォルトターゲットを宣言しているため、コマンドラインでターゲットが指定されていない場合にAntが何を実行すればよいかを認識できます。
<?xml version="1.0"?> <project name="HelloWorld" default="hello" basedir="."> <target name="hello"> <echo>Hello, World</echo> </target> </project>
このファイルを「build.xml」として保存し、次の2つの手順に従ってください。
- コマンドプロンプトを開き、build.xmlファイルが格納されているディレクトリに移動します。
- ラン
ant helloまたは単にanthello がデフォルトのターゲットとして宣言されているためです。別のファイル名を使用するには、以下を実行します。ant -f mybuild.xml hello.
出力:
Buildfile: C:\projects\demo\build.xml
hello:
[echo] Hello, World
BUILD SUCCESSFUL
Total time: 0 seconds
ANTプロジェクトの構造
ANTプロジェクトの構造
構造図に示すように、各ビルドには3つのノードが含まれます。
- プロジェクト
- Target
- 仕事
プロジェクト
Apache ANT のビルド ファイル内のすべてはプロジェクトの下にあります。
属性:
- 名前: プロジェクト名。
- ベースディレクトリ: これは、すべてのパスが計算される基準となるディレクトリです。「basedir」プロパティを使用することで、このディレクトリを上書きできます。
- デフォルト: このプロジェクトのデフォルトターゲットを定義するのに役立ちます。ターゲットが指定されていない場合、Ant はデフォルトのターゲットを実行します。
Target
ターゲットとは、ビルドプロセスにおいて特定の状態に到達するために定義された一連のタスクのことです。
属性:
- 名前: 対象者の名前(必須)。
- 説明: Descript標的のイオン。
- 依存: この現在の目標が依存している目標はどれか。
- 次の場合: ターゲットプロパティに値が設定されている場合にのみ、ターゲットを実行します。
- 以下の場合を除き: プロパティ値が設定されていない場合にのみ、ターゲットを実行します。
タスク
タスクとは、実行可能なコードの断片のことです。タスクには複数の引数または属性があります。
タスクを作成するための一般的な方法パターンは次のとおりです。
<name attribute1="value" attribute2="value2"…/>
組み込みタスクを使用することも、独自のタスクを作成することもできます。以下の表は、ほぼすべてのタスクに表示されるタスクの一覧です。 Java ファイルを作成します。
| 仕事 | 目的 | 典型的な属性 |
|---|---|---|
| echo | コンソールにメッセージを表示する | メッセージ |
| mkdir | ディレクトリを作成する | DIR |
| 削除 | ファイルまたはディレクトリを削除する | ディレクトリ、空のディレクトリを含める |
| javac | コンパイル Java ソースファイル | srcdir、destdir、includeantruntime |
| 瓶 | クラスをjarアーカイブにパッケージ化する | 宛先ファイル、ベースディレクトリ |
| copy | 場所間でファイルをコピーする | ファイル、ディレクトリ |
| ジュニ | ユニットテストを実行する | ハルトン障害、印刷概要 |
複数のbuild.xmlの完全な例 Targets
現実的なビルドファイルでは、複数のターゲットが連鎖的に実行されます。depends属性によって実行順序が保証されるため、Antは出力フォルダをクリーンアップし、ソースをコンパイルしてから、jarファイルをビルドします。
<?xml version="1.0"?> <project name="DemoApp" default="jar" basedir="."> <!-- reusable values --> <property name="src.dir" value="src"/> <property name="build.dir" value="build"/> <target name="clean" description="Remove previous output"> <delete dir="${build.dir}"/> </target> <target name="compile" depends="clean" description="Compile sources"> <mkdir dir="${build.dir}/classes"/> <javac srcdir="${src.dir}" destdir="${build.dir}/classes" includeantruntime="false"/> </target> <target name="jar" depends="compile" description="Package the jar"> <mkdir dir="${build.dir}/jar"/> <jar destfile="${build.dir}/jar/DemoApp.jar" basedir="${build.dir}/classes"> <manifest> <attribute name="Main-Class" value="com.guru99.Main"/> </manifest> </jar> </target> </project>
出力:
Buildfile: C:\projects\DemoApp\build.xml
clean:
[delete] Deleting directory C:\projects\DemoApp\build
compile:
[mkdir] Created dir: C:\projects\DemoApp\build\classes
[javac] Compiling 3 source files to C:\projects\DemoApp\build\classes
jar:
[mkdir] Created dir: C:\projects\DemoApp\build\jar
[jar] Building jar: C:\projects\DemoApp\build\jar\DemoApp.jar
BUILD SUCCESSFUL
Total time: 1 second
Apache Ant vs Maven vs Gradle
3つのビルドツールが主流 Java 生態系はそれぞれ異なり、どの程度の構造を導入すべきかについては、それぞれ異なる立場を取っている。
| アパッチアント | Apache Maven | Gradle | |
|---|---|---|---|
| ビルドスクリプト形式 | XML | XML | Groovy またはKotlin DSL |
| アプローチ | 手順型なので、すべてのステップを定義します。 | 宣言型、設定よりも規約を重視 | スクリプト拡張機能を備えた宣言型 |
| 依存関係管理 | 組み込み機能ではなく、Apache Ivy経由で追加されました。 | 中央リポジトリを内蔵 | 組み込み済み、Maven互換 |
| プロジェクトの構造 | 完全無料 | 固定標準レイアウト | 慣例に基づいているが、上書き可能 |
| インクリメンタルビルド | 限定的 | 限定的 | はい、ビルドキャッシュを使用すれば可能です。 |
| 学習曲線 | XMLユーザーにとっては低レベル | 穏健派 | より急勾配で、DSLが必要 |
| に最適 | レガシープロジェクトと高度にカスタマイズされた構築 | スタンダード Java プロジェクト(実績作品) | 大型マルチモジュールおよび Android プロジェクト(実績作品) |
Antは、ビルドが標準的なレイアウトに適合しない場合、または既存のプロジェクトが既に手書きのターゲットに依存している場合に、依然として実用的な選択肢となる。
Apache Ant の使用に関するベスト プラクティス
Apache Antを使用する際のベストプラクティスをいくつかご紹介します。
- プロパティ ファイルを使用してビルドの番号付けを自動化する必要があります。
- デフォルトプロパティファイルとビルドプロパティファイルを使用して、設定可能なビルドを実装します。これらのファイルには、コンパイラバージョンや最適化設定など、ビルドプロセスに必要なデータを定義するプロパティを保存できます。
- ライブラリ プロパティ ファイルを使用して、事前に構築されたライブラリを再利用できます。
- すべてのターゲットに説明属性を与えると、
ant -projecthelpビルドの有用な概要を一覧表示します。 - クリーンアップ対象は別の場所に保管し、ソースファイルも含まれているディレクトリは絶対に削除しないでください。
Apache Ant を使用する利点
Apache Antを使用するメリットは以下のとおりです。
- Antはプラットフォームに依存しないため、ファイル区切り文字などのプラットフォーム固有のプロパティを管理するのに役立ちます。
- Antでは、'touch'コマンドを使用してファイルの最終更新日時を変更するなど、プラットフォーム固有のタスクを実行できます。
- Antスクリプトはプレーンテキストを使用して記述されます XMLしたがって、XMLに既に精通している方であれば、Antもすぐに習得できるでしょう。
- Antは、あらかじめ定義されたタスクを多数提供しています。
- 開発者向けのインターフェースを提供しますping カスタマイズされたタスク。
- Antはコマンドラインから簡単に起動できるため、無料および商用のIDEとの統合が可能です。
- 必要なのはJVMだけなので、JVMが利用可能な場所ならどこでも動作します。
- Apache Ant は、ユーザーがソース コードにアクセスして複製できるオープンソース ライブラリです。
- Apache Ant は、クロスプラットフォームのツールであり、 Java クラスパスとファイル ディレクトリ構造を手頃な方法で実現します。
- Apache Ant は、次を使用して簡単に拡張できます。 Java および他のプログラミング言語。
- Apache Antは、EJBのコンパイルやパッケージングなど、J2EE開発のための組み込みサポートを提供します。
- 小規模な個人プロジェクトから、大規模なソフトウェアプロジェクトやウェブサイトまで、幅広く利用できます。
Antは、テストランナーや継続的インテグレーションサーバーと組み合わせて使用されることが多い。 JUnit テスト層の場合、 Jenkins スケジュールされたビルドの場合、 Apache Ant を使用する Selenium ブラウザテスト自動化用。ビルド中に生成されたレポートは、 ジャスパーレポート.













