Spring Boot AntLib Module

The Spring Boot AntLib module provides basic Spring Boot support for Apache Ant. You can use the module to create executable jars. To use the module, you need to declare an additional spring-boot namespace in your build.xml, as shown in the following example:spring-doc.cn

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

You need to remember to start Ant using the -lib option, as shown in the following example:spring-doc.cn

$ ant -lib <directory containing spring-boot-antlib-3.4.0.jar>
The “Using Spring Boot” section includes a more complete example of using Apache Ant with spring-boot-antlib.

Spring Boot Ant Tasks

Once the spring-boot-antlib namespace has been declared, the following additional tasks are available:spring-doc.cn

Using the “exejar” Task

You can use the exejar task to create a Spring Boot executable jar. The following attributes are supported by the task:spring-doc.cn

Attribute Description Required

destfilespring-doc.cn

The destination jar file to createspring-doc.cn

Yesspring-doc.cn

classesspring-doc.cn

The root directory of Java class filesspring-doc.cn

Yesspring-doc.cn

start-classspring-doc.cn

The main application class to runspring-doc.cn

No (the default is the first class found that declares a main method)spring-doc.cn

The following nested elements can be used with the task:spring-doc.cn

Element Description

resourcesspring-doc.cn

One or more Resource Collections describing a set of Resources that should be added to the content of the created jar file.spring-doc.cn

libspring-doc.cn

One or more Resource Collections that should be added to the set of jar libraries that make up the runtime dependency classpath of the application.spring-doc.cn

Examples

This section shows two examples of Ant tasks.spring-doc.cn

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

Using the “findmainclass” Task

The findmainclass task is used internally by exejar to locate a class declaring a main. If necessary, you can also use this task directly in your build. The following attributes are supported:spring-doc.cn

Attribute Description Required

classesrootspring-doc.cn

The root directory of Java class filesspring-doc.cn

Yes (unless mainclass is specified)spring-doc.cn

mainclassspring-doc.cn

Can be used to short-circuit the main class searchspring-doc.cn

Nospring-doc.cn

propertyspring-doc.cn

The Ant property that should be set with the resultspring-doc.cn

No (result will be logged if unspecified)spring-doc.cn

Examples

This section contains three examples of using findmainclass.spring-doc.cn

Find and log
<findmainclass classesroot="target/classes" />
Find and set
<findmainclass classesroot="target/classes" property="main-class" />
Override and set
<findmainclass mainclass="com.example.MainClass" property="main-class" />