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.5.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 檔內容的 資源

lib

一個或多個 資源集合,應新增至構成應用程式執行時期依賴類別路徑的 jar 程式庫集合。

範例

本節顯示兩個 Ant 任務的範例。

指定 start-class
<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>
偵測 start-class
<exejar destfile="target/my-application.jar" classes="target/classes">
	<lib>
		<fileset dir="lib" />
	</lib>
</exejar>

使用 “findmainclass” 任務

findmainclass 任務由 exejar 內部使用,以尋找宣告 main 的類別。如有必要,您也可以在您的建置中直接使用此任務。支援下列屬性

屬性 描述 必要

classesroot

Java 類別檔案的根目錄

(除非指定了 mainclass)

mainclass

可用於簡化 main 類別搜尋

property

應使用結果設定的 Ant 屬性

(如果未指定,結果將會記錄)

範例

本節包含三個使用 findmainclass 的範例。

尋找並記錄
<findmainclass classesroot="target/classes" />
尋找並設定
<findmainclass classesroot="target/classes" property="main-class" />
覆寫並設定
<findmainclass mainclass="com.example.MainClass" property="main-class" />