Creating JAR files with Ant is quite easy with the jar task. In this tutorial we will show you how to use Ant build script to create a Jar file.
Before discussing more let us see following Ant Build file.
<?xml version="1.0"?> <project name="Hello World" default="info" basedir="."> <property file="build.properties"/> <target name="info"> <echo>Hello World - Welcome to Apache Ant Tutorial by Tutor ${tutor}!!!</echo> </target> <target name ="makejar" description="Create a jar for the HelloWorld project"> <mkdir dir="${build.dir}"/> <mkdir dir="${build.dir}/classes"/> <jar jarfile="${build.dir}/HelloWorld.jar" basedir="${build.dir}/classes"> <manifest> <attribute name = "Main-Class" value = "com.dineshonjava.HelloWorld"/> </manifest> </jar> </target> </project>
As you saw in the above build file we have added a new target to produce the jar file. But before that, let us see the jar task given below.
<jar jarfile="${build.dir}/HelloWorld.jar" basedir="${build.dir}/classes"> <manifest> <attribute name = "Main-Class" value = "com.dineshonjava.HelloWorld"/> </manifest> </jar>
Here ${build.dir} property points to the path of the web source files.
The ${build.dir}/classes property in this example points to the build folder where the class files for the HelloWorld.jar can be found.
If we want to make the HelloWorld.jar an executable jar file we need to add the manifest with the Main-Class meta attribute.
Running Ant on this file creates the HelloWorld.jar file for us.
The following outcome is the result of running the Ant file:
The HelloWorld.jar file is now placed in the output folder.
Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…
Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…
Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…
Technology has emerged a lot in the last decade, and now we have artificial intelligence;…
Managing a database is becoming increasingly complex now due to the vast amount of data…
Overview In this article, we will explore Spring Scheduler how we could use it by…