跳到主要内容
版本:3.5.10

Spring Boot AntLib 模块

QWen Max 中英对照 Spring Boot AntLib Module

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.5.10.jar>
提示

“使用 Spring Boot” 章节包含了一个更完整的 使用 Apache Ant 与 spring-boot-antlib 的示例。

Spring Boot Ant 任务

一旦声明了 spring-boot-antlib 命名空间,以下附加任务即可使用:

使用 “exejar” 任务

你可以使用 exejar 任务来创建一个 Spring Boot 可执行 jar。该任务支持以下属性:

AttributeDescriptionRequired
destfile要创建的目标 jar 文件
classesJava 类文件的根目录
start-class要运行的主应用程序类(默认为找到的第一个声明了 main 方法的类)

以下嵌套元素可与该任务一起使用:

元素描述
resources一个或多个 Resource Collections,用于描述应添加到所创建 jar 文件内容中的一组 Resources
lib一个或多个 Resource Collections,应添加到构成应用程序运行时依赖类路径的 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 方法的类。如有必要,你也可以在构建脚本中直接使用此任务。支持以下属性:

AttributeDescriptionRequired
classesrootJava 类文件的根目录(除非指定了 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" />