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任务的示例。

指定启动类
<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任务由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" />