Spring Boot AntLib 模块

Spring Boot AntLib 模块为 Apache Ant 提供了基本的 Spring Boot 支持。 您可以使用该模块创建可执行 jar。 要使用该模块,您需要在 中声明一个额外的命名空间,如以下示例所示:spring-bootbuild.xmlspring-doc.cn

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

您需要记住使用 option 启动 Ant,如以下示例所示:-libspring-doc.cn

$ ant -lib <directory containing spring-boot-antlib-3.4.0.jar>
“使用 Spring Boot”部分包括将 Apache Ant 与 spring-boot-antlib 一起使用的更完整示例。

Spring Boot Ant 任务

声明命名空间后,可以使用以下其他任务:spring-boot-antlibspring-doc.cn

使用 “exejar” 任务

您可以使用该任务创建 Spring Boot 可执行 jar。 该任务支持以下属性:exejarspring-doc.cn

属性 描述 必填

destfilespring-doc.cn

要创建的目标 jar 文件spring-doc.cn

是的spring-doc.cn

classesspring-doc.cn

Java 类文件的根目录spring-doc.cn

是的spring-doc.cn

start-classspring-doc.cn

要运行的主要应用程序类spring-doc.cn

(默认是找到的第一个声明 main 方法的类)spring-doc.cn

以下嵌套元素可用于任务:spring-doc.cn

元素 描述

resourcesspring-doc.cn

一个或多个 Resource Collections,描述应添加到所创建 jar 文件内容的一组 Resourcesspring-doc.cn

libspring-doc.cn

应添加到构成应用程序的运行时依赖项 Classpath 的 jar 库集中的一个或多个 Resource Collectionsspring-doc.cn

例子

本节介绍 Ant 任务的两个示例。spring-doc.cn

指定 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” 任务

该任务在内部用于查找声明 . 如有必要,您还可以直接在构建中使用此任务。 支持以下属性:findmainclassexejarmainspring-doc.cn

属性 描述 必填

classesrootspring-doc.cn

Java 类文件的根目录spring-doc.cn

(除非指定了 mainclassspring-doc.cn

mainclassspring-doc.cn

可用于短路类搜索mainspring-doc.cn

spring-doc.cn

propertyspring-doc.cn

应使用结果设置的 Ant 属性spring-doc.cn

(如果未指定,将记录结果)spring-doc.cn

例子

本节包含三个使用 .findmainclassspring-doc.cn

查找和记录
<findmainclass classesroot="target/classes" />
查找和设置
<findmainclass classesroot="target/classes" property="main-class" />
覆盖和设置
<findmainclass mainclass="com.example.MainClass" property="main-class" />