Spring Boot AntLib モジュール

Spring Boot AntLib モジュールは、Apache Ant の基本的な Spring Boot サポートを提供します。このモジュールを使用して、実行可能な jar を作成できます。このモジュールを使用するには、次の例に示すように、build.xml で追加の spring-boot 名前空間を宣言する必要があります。

<project xmlns:ivy="antlib:org.apache.ivy.ant"
	xmlns:spring-boot="antlib:org.springframework.boot.ant"
	name="myapp" default="build">
	...
</project>

次の例に示すように、-lib オプションを使用して Ant を開始することを忘れないでください。

$ ant -lib <directory containing spring-boot-antlib-3.3.1.jar>
「Spring Boot の使用」セクションには、spring-boot-antlib で Apache Ant を使用するより完全な例が含まれています。

Spring Boot Ant タスク

spring-boot-antlib 名前空間が宣言されると、次の追加タスクが利用可能になります。

"exejar" タスクの使用

exejar タスクを使用して、Spring Boot 実行可能ファイル jar を作成できます。タスクでは次の属性がサポートされています。

属性 説明 必須

destfile

作成する宛先 jar ファイル

はい

classes

Java クラスファイルのルートディレクトリ

はい

start-class

実行するメインアプリケーションクラス

いいえ(デフォルトは、main メソッドを宣言する最初に見つかったクラスです)

タスクでは、次のネストされた要素を使用できます。

要素 説明

resources

作成された jar ファイルのコンテンツに追加されるリソース [Apache] (英語) のセットを記述する 1 つ以上のリソースコレクション [Apache] (英語)

lib

アプリケーションのランタイム依存性クラスパスを構成する jar ライブラリのセットに追加する必要がある 1 つ以上のリソースコレクション [Apache] (英語)

サンプル

このセクションでは、Ant タスクの 2 つの例を示します。

開始クラスを指定する
<spring-boot:exejar destfile="target/my-application.jar"
		classes="target/classes" start-class="com.example.MyApplication">
	<resources>
		<fileset dir="src/main/resources" />
	</resources>
	<lib>
		<fileset dir="lib" />
	</lib>
</spring-boot:exejar>
開始クラスを検出する
<exejar destfile="target/my-application.jar" classes="target/classes">
	<lib>
		<fileset dir="lib" />
	</lib>
</exejar>

"findmainclass" タスクの使用

findmainclass タスクは、main を宣言するクラスを見つけるために exejar によって内部的に使用されます。必要に応じて、ビルドでこのタスクを直接使用することもできます。次の属性がサポートされています。

属性 説明 必須

classesroot

Java クラスファイルのルートディレクトリ

はいmainclass が指定されていない場合)

mainclass

main クラス検索の短絡に使用できます

いいえ

property

結果で設定する必要がある Ant プロパティ

いいえ(指定しない場合、結果が記録されます)

サンプル

このセクションには、findmainclass の 3 つの使用例が含まれています。

検索して記録する
<findmainclass classesroot="target/classes" />
検索と設定
<findmainclass classesroot="target/classes" property="main-class" />
オーバーライドして設定
<findmainclass mainclass="com.example.MainClass" property="main-class" />