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.4.2.jar>
提示
“使用 Spring Boot”部分包含一个更完整的使用 Apache Ant 与 spring-boot-antlib 的示例。
Spring Boot Ant 任务
一旦声明了 spring-boot-antlib
命名空间,以下额外的任务将可用:
使用 “exejar” 任务
你可以使用 exejar
任务来创建一个 Spring Boot 可执行 jar 文件。该任务支持以下属性:
属性 | 描述 | 是否必填 |
---|---|---|
destfile | 要创建的目标 jar 文件 | 是 |
classes | Java 类文件的根目录 | 是 |
start-class | 要运行的主应用程序类 | 否 (默认是找到的第一个声明了 main 方法的类) |
以下嵌套元素可与任务一起使用:
示例
本节展示了两个 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" />