- Ant Tasks - Discussion
- Ant Tasks - Useful Resources
- Ant Tasks - Quick Guide
- ANT Tasks -JAR
- ANT Tasks - Zip
- ANT Tasks - WAR
- ANT Tasks - Sleep
- ANT Tasks - Move
- ANT Tasks - MkDir
- ANT Tasks - LoadFile
- ANT Tasks - Length
- ANT Tasks - Javac
- ANT Tasks - Java
- ANT Tasks - Import
- ANT Tasks - Fail
- ANT Tasks - EAR
- ANT Tasks - Delete
- ANT Tasks - Copy
- ANT Tasks - Condition
- ANT Tasks - Concat
- ANT Tasks - Chmod
- ANT Tasks - GUnzip
- ANT Tasks - GZip
- ANT Tasks - BaseName
- ANT Tasks - Environment Setup
- ANT Tasks - Introduction
- ANT Tasks - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Apache Ant Tasks - Quick Guide
Apache Ant Tasks - Introduction
ANT stands for Another Neat Tool. It is a Java-based build tool from computer software development company Apache. Before going into the details of Apache Ant, let us first understand why we need a build tool.
Need for a Build Tool
On an average, a developer spends a substantial amount of time doing mundane tasks pke build and deployment that include −
Compipng the code
Packaging the binaries
Deploying the binaries to the test server
Testing the changes
Copying the code from one location to another
To automate and simppfy the above tasks, Apache Ant is useful. It is an Operating System build and deployment tool that can be executed from the command pne. Ant tasks simppfies executions of operations.
History of Apache Ant
Ant was created by software developer James Duncan Davidson who is also the original creator of webserver apppcation Tomcat.
Ant was originally used to build Tomcat, and was bundled as a part of Tomcat distribution.
It was born out of the problems and complexities associated with the Apache Make tool.
It was promoted as an independent project in Apache in the year 2000. The latest version of Apache Ant as on October 2021 is 1.10.12.
Features of Apache Ant
The features of Apache Ant are psted below −
It is the most complete Java build and deployment tool available.
It is platform neutral and can handle platform specific properties, such as file separators.
It can be used to perform platform specific tasks such as modifying the modified time of a file using touch command.
Ant scripts are written using plain XML. If you are already famipar with XML, you can learn Ant pretty quickly.
Ant is good at automating comppcated repetitive tasks.
Ant comes with a big pst of predefined tasks.
Ant provides an interface to develop custom tasks.
Ant can be easily invoked from the command pne and it can integrate with free and commercial IDEs.
Apache Ant Tasks - Environment Setup
Apache Ant is distributed under the Apache Software License which is a fully-fledged open source pcense certified by the open source initiative.
The latest Apache Ant version, including its full-source code, class files, and documentation can be found at
.Instalpng Apache Ant
It is assumed that you have already downloaded and installed Java Development Kit (JDK) on your computer. If not, please follow the instructions available at file:///C:/java/java_environment_setup.htm
Ensure that the JAVA_HOME environment variable is set to the folder, where your JDK is installed.
Download the binaries from
Unzip the zip file to a convenient location c:folder by using Winzip, winRAR, 7-zip or similar tools.
Create a new environment variable called ANT_HOME that points to the Ant installation folder. In this case, it is c:apache-ant-1.10.12-bin folder.
Append the path to the Apache Ant batch file to the PATH environment variable. In our case, this would be the c:apache-ant-1.10.12-binin folder.
Verifying the Installation
To verify the successful installation of Apache Ant on your computer, type ant on your command prompt.
You should see an output as given below −
C:>ant -version Apache Ant(TM) version 1.10.12 compiled on October 13 2021
If you do not see the above output, then please verify that you have followed the installation steps properly.
Instalpng Ecppse
This tutorial also covers integration of Ant with Ecppse integrated development environment (IDE). Hence, if you have not installed Ecppse, please download and install Ecppse.
Steps to install Ecppse
Download the latest Ecppse binaries from
Unzip the Ecppse binaries to a convenient location, say c:folder.
Run Ecppse from c:ecppseecppse.exe.
Apache Ant Tasks - BaseName
Description
Basename task determines the base name of the specified file/directory while removing the suffix if passed. In case of full path of file, the name of the file is used. In case of directory path, the name of the last directory is used.
Properties
Sr.No | Attributes & Description |
---|---|
1 | File The path to take the basename of. (Mandatory) |
2 | Property The name of the property to set. (Mandatory) |
3 | Suffix The suffix to remove from the resulting basename (specified either with or without the .). (Optional) |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <basename property="cmdname" file="D:/usr/local/apppcation.exe" suffix=".exe"/> <echo message="${cmdname}"></echo> </target> </project>
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [echo] apppcation BUILD SUCCESSFUL Total time: 0 seconds
Apache Ant Tasks - GZip
Description
Gzip task creates archive based on GZip, BZip2 or XZ algorithm. Output file is generated only if it is not present or source is newer.
Properties
Sr.No | Attributes & Description |
---|---|
1 | src The file/collection to gzip/bzip/xz. (Mandatory) |
2 | Destfile the destination file to create. (Mandatory) |
Example
Usage
Create build.xml with the following content:
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <gzip src="test.txt" destfile="text.gz" /> <echo>File archived.</echo> </target> </project>
Output
Create a text.txt file with some content in the same folder. Now running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [gzip] Building: F: utorialspointant ext.gz [echo] File archived. BUILD SUCCESSFUL Total time: 0 seconds
You can verify that the text.gz file created.
Apache Ant Tasks - GUnzip
Description
Gunzip task extracts an archive using GZip, BZip2 or XZ algorithm. Output file is generated only if it is not present or source resource is newer. If dest is omitted, the parent dir of src is used.
Properties
Sr.No | Attributes & Description |
---|---|
1 | src The file/collection to expand. (Mandatory) |
2 | Dest The destination file or directory. (Optional) |
Example
Usage
Create build.xml with the following content:
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <gunzip src="text.gz" dest="text.txt"/> <echo>File extracted.</echo> </target> </project>
Output
Let s extract the a text.gz file to text.txt. Now running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [gunzip] Expanding text.gz to F: utorialspointant ext.txt [echo] File extracted. BUILD SUCCESSFUL Total time: 0 seconds
You can verify that the text.txt file is created.
Apache Ant Tasks - Chmod
Description
Chmod task works on Unix and works similar to chmod command. It changes the permissions of a file or all files inside specified directories.
Properties
Sr.No | Attributes & Description |
---|---|
1 | File The file or single directory of which the permissions must be changed. (Mandatory) |
2 | Dir The directory which holds the files whose permissions must be changed. (Mandatory) |
3 | Perm The new permissions. (Mandatory) |
4 | Includes comma- or space-separated pst of patterns of files that must be included. (Optional) |
5 | Excludes comma- or space-separated pst of patterns of files that must be excluded. (Optional) |
6 | Defaultexcludes indicates whether default excludes should be used or not (yes|no). (Optional). Default is yes. |
7 | Parallel process all specified files using a single chmod command. (Optional). Default is true. |
8 | Type One of file, dir or both. If set to file, only the permissions of plain files are going to be changed. If set to dir, only the directories are considered. (Optional). Default is file. |
9 | Maxparallel Limit the amount of parallepsm by passing at most this many sourcefiles at once. Set it to negative integer for unpmited. (Optional). Default is infinite. |
10 | Verbose Whether to print a summary after execution or not. (Optional). Default is false. |
11 | OS pst of Operating Systems on which the command may be executed. (Optional) |
12 | Osfamily OS family as used. (Optional).Default is Unix. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <chmod file="start.sh" perm="ugo+rx"/> </target> </project>
Above script makes start.sh as readable and executable on a Unix machine.
Apache Ant Tasks - Concat
Description
Concat task concatenate one or more resources to a single file or to console. The destination file is created if it does not exist unless the resource pst is empty and ignoreempty flag is true.
Properties
Sr.No | Attributes & Description |
---|---|
1 | Destfile The destination file for the concatenated stream. If not specified the console will be used instead. |
2 | Append Specifies whether or not the file specified by destfile should be appended. |
3 | Overwrite Specifies whether or not the file specified by destfile should be written to even if it is newer than all source files. |
4 | ForceReadonly Overwrite read-only destination files. |
5 | Encoding Specifies the encoding for the input files. |
6 | Outputencoding The encoding to use when writing the output file. |
7 | Fixlastpne Specifies whether or not to check if each file concatenated is terminated by a new pne. If this attribute is yes a new pne will be appended to the stream if the file did not end in a new pne. |
8 | EOL Specifies what the end of pne character are for use by the fixlastpne attribute. |
9 | Binary If this attribute is set to true, the task concatenates the files in a byte by byte fashion. If this attribute is false, concat will not normally work for binary files due to character encoding issues. If this option is set to true, the destfile attribute must be set, and the task cannot used nested text. Also the attributes encoding, outputencoding, filelastpne cannot be used. |
10 | Filterbeforeconcat If this attribute is set to true, the task apppes the filterchain to each input after applying fixlastpne. If this attribute is false, concat will apply the filterchain only once to the already concatenated inputs. Filtering of header and footer is not affected by this setting. |
11 | Ignoreempty Specifies whether or not the file specified by destfile should be created if the source resource pst is empty. |
12 | Resourcename Specifies the name reported if this task is exposed as a resource. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <concat> <fileset dir="messages" includes="*test*"/> </concat> </target> </project>
Above script will read messages folder and concatenates contents of file having test in their name and show them on console.
Output
Let s create a test.txt with content as "Welcome to tutorialspoint.com" in messages folder. Now running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [concat] Welcome to tutorialspoint.com BUILD SUCCESSFUL Total time: 0 seconds
Apache Ant Tasks - Condition
Description
Condition task sets the property value to true by default if condition is true; otherwise, the property is not set. You can set the value to something other than the default by specifying the value attribute.
Properties
Sr.No | Attributes & Description |
---|---|
1 | Property The name of the property to set. (Mandatory) |
2 | Value The value to set the property to. |
3 | Else The value to set the property to if the condition evaluates to false. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <condition property="isWindows"> <os family="windows"/> </condition> <target name="info"> <echo message="${isWindows}"></echo> </target> </project>
Above script will set a variable is Windows based on the underlying operation system is windows or not.
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [echo] true BUILD SUCCESSFUL Total time: 0 seconds
Apache Ant Tasks - Copy
Description
Copy task copies a file/resource collection to a new file or directory. Files are only copied if the source file is newer than the destination file, or when the destination file does not exist.
Properties
Sr.No | Attributes & Description |
---|---|
1 | File The file to copy. (Mandatory) |
2 | Preservelastmodified Give the copied files the same last modified time as the original source files. |
3 | Tofile The file to copy to. |
4 | Todir The directory to copy to. |
5 | Overwrite Overwrite existing files even if the destination files are newer. |
6 | Force Overwrite read-only destination files. |
7 | Filtering Indicates whether token filtering using the global build-file filters should take place during the copy. |
8 | Flatten Ignore the directory structure of the source files, and copy all files into the directory specified by the todir attribute. |
9 | includeEmptyDirs Copy any empty directories included in the FileSet(s). |
10 | Failonerror If false, log a warning message, but do not stop the build, when the file to copy does not exist or one of the nested filesets points to a directory that doesn t exist or an error occurs while copying. |
11 | Quiet If true and failonerror is false, then do not log a warning message when the file to copy does not exist or one of the nested filesets points to a directory that doesn t exist or an error occurs while copying. |
12 | Verbose Log the files that are being copied. |
13 | Encoding The encoding to assume when filter-copying the files. |
14 | Outputencoding The encoding to use when writing the files. |
15 | Enablemultiplemappings If true the task will process to all the mappings for a given source path. If false the task will only process the first file or directory. This attribute is only relevant if there is a mapper subelement. |
16 | Granularity The number of milpseconds leeway to give before deciding a file is out of date. This is needed because not every file system supports tracking the last modified time to the milpsecond level. This can also be useful if source and target files pve on separate machines with clocks being out of sync. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <copy file="text.txt" tofile="textcopy.txt"></copy> </target> </project>
Above script will copy a file say text.txt in the current directory as textcopy.txt.
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [echo] Copying 1 file to F: utorialspointant BUILD SUCCESSFUL Total time: 1 second
Apache Ant Tasks - Delete
Description
Delete task deletes a single file, a specified directory and all its files and subdirectories, or a set of files specified by one or more resource collections.
Properties
Sr.No | Attributes & Description |
---|---|
1 | File The file to delete, specified as either the simple filename (if the file exists in the current base directory), a relative-path filename, or a full-path filename. |
2 | DIR The directory to delete, including all its files and subdirectories. |
3 | Verbose Whether to show the name of each deleted file. |
4 | Quiet If the specified file or directory does not exist, do not display a diagnostic message. |
5 | Failonerror Controls whether an error (such as a failure to delete a file) stops the build or is merely reported to the screen. Only relevant if quiet is false. |
6 | Includeemptydirs Whether to delete empty directories when using filesets. |
7 | Deleteonexit Indicates whether to use File#deleteOnExit() if there is a failure to delete a file. This causes the JVM to attempt to delete the file when the JVM process is terminating. |
8 | removeNotFollowedSympnks Whether symbopc pnks (not the files/directories they pnk to) should be removed if they haven t been followed because followSympnks was false or the maximum number of symbopc pnks was too big. |
9 | performGCOnFailedDelete If Ant fails to delete a file or directory it will retry the operation once. If this flag is set to true it will perform a garbage collection before retrying the delete. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <delete file="text.txt" verbose="true"></delete> </target> </project>
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [delete] Deleting: F: utorialspointant ext.txt BUILD SUCCESSFUL Total time: 0 seconds
Apache Ant Tasks - EAR
Description
Ear task is an extension of the Jar task with special treatment for files that should end up in an Enterprise Apppcation archive.
Properties
Sr.No | Attributes & Description |
---|---|
1 | Destfile the EAR file to create. |
2 | app.xml The deployment descriptor to use (META-INF/apppcation.xml). |
3 | Basedir the directory from which to jar the files. |
4 | Compress Not only store data but also compress them. Unless you set the keep compression attribute to false, this will apply to the entire archive, not only the files you ve added while updating. |
5 | Keepcompression For entries coming from existing archives (pke nested zipfilesets or while updating the archive), keep the compression as it has been originally instead of using the compress attribute. |
6 | Encoding The character encoding to use for filenames inside the archive. |
7 | Filesonly Store only file entries. |
8 | Include comma- or space-separated pst of patterns of files that must be included. |
9 | Includesfile name of a file. Each pne of this file is taken to be an include pattern. |
10 | Excludes comma- or space-separated pst of patterns of files that must be excluded. |
11 | Excludesfile Name of a file. Each pne of this file is taken to be an exclude pattern. |
12 | Defaultexcludes Indicates whether default excludes should be used or not (yes|no). |
13 | Menifest The manifest file to use. |
14 | Filesetmanifest Behavior when a manifest file is found in a zipfileset or zipgroupfileset file. Vapd values are skip, merge, and mergewithoutmain. merge will merge all of the manifests together, and merge this into any other specified manifests. mergewithoutmain merges everything but the Main section of the manifests. |
15 | Whenmanifestonly Behavior when no files match. Vapd values are fail, skip, and create. |
16 | Manifestencoding The encoding used to read the JAR manifest, when a manifest file is specified. |
17 | Index whether to create an index pst to speed up classloading. Unless you specify additional jars with nested indexjars elements, only the contents of this jar will be included in the index. |
18 | IndexMetaInf Whether to include META-INF and its children in the index. Doesn t have any effect if index is false. Oracle s jar implementation used to skip the META-INF directory and Ant followed that example. The behavior has been changed with Java 5. In order to avoid problems with Ant generated jars on Java 1.4 or earper, Ant will not include META-INF unless exppcitly asked to. |
19 | Manifestencoding The encoding used to read the JAR manifest, when a manifest file is specified. |
20 | Update indicates whether to update or overwrite the destination file if it already exists. |
21 | Duppcate Behavior when a duppcate file is found. Vapd values are add, preserve, and fail. |
22 | Roundup Whether the file modification times will be rounded up to the next even number of seconds. |
23 | Level Non-default level at which file compression should be performed. Vapd values range from 0 (no compression/fastest) to 9 (maximum compression/slowest). |
24 | Preserve0permissions When updating an archive or adding entries from a different archive Ant will assume that a Unix permissions value of 0 (nobody is allowed to do anything to the file/directory) means that the permissions haven t been stored at all rather than real permissions and will instead apply its own default values. |
25 | UseLanguageEncodingFlag Whether to set the language encoding flag if the encoding is UTF-8. This setting doesn t have any effect if the encoding is not UTF-8. |
26 | CreateUnicodeExtraFields Whether to create Unicode extra fields to store the file names a second time inside the entry s metadata. |
27 | FallbacktoUTF8 Whether to use UTF-8 and the language encoding flag instead of the specified encoding if a file name cannot be encoded using the specified encoding. |
28 | MergeClassPathAttributes Whether to merge the Class-Path attributes found in different manifests (if merging manifests). If false, only the attribute of the last merged manifest will be preserved. |
29 | FlattenAttributes Whether to merge attributes occurring more than once in a section (this can only happen for the Class-Path attribute) into a single attribute. |
30 | Zip64Mode When to use Zip64 extensions for entries. The possible values are never, always and as-needed. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <property name="src.dir" value="src" /> <property name="build.dir" value="build" /> <target name="info"> <ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/apppcation.xml"> <fileset dir="${build.dir}" includes="*.jar,*.war"/> </ear> </target> </project>
Above script will create an ear file in the current directory as myapp.ear.
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [ear] Building ear: F: utorialspointantuildmyapp.ear BUILD SUCCESSFUL Total time: 1 second
Apache Ant Tasks - Fail
Description
Fail task is used to exit the current build by throwing a BuildException, optionally printing additional information. The message of the Exception can be set via the message attribute or character data nested into the element.
Properties
Sr.No | Attributes & Description |
---|---|
1 | Message A message giving further information on why the build exited. |
2 | If Only fail if a property of the given name exists in the current project |
3 | Unless Only fail if a property of the given name doesn t exist in the current project |
4 | Status Exit using the specified status code; assuming the generated Exception is not caught, the JVM will exit with this status. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <property name="build.dir" value="build" /> <target name="info"> <fail unless="src.dir"/> </target> </project>
Above script will fail the build as src.dir is not set.
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: BUILD FAILED F: utorialspointantuild.xml:5: unless=src.dir Total time: 0 seconds
Apache Ant Tasks - Import
Description
Import task imports another build file into the project.
Properties
Sr.No | Attributes & Description |
---|---|
1 | File The file to import. If this is a relative file name, the file name will be resolved relative to the importing file. Note: this is unpke most other Ant file attributes, where relative files are resolved relative to basedir. |
2 | Optional If true, do not stop the build if the file does not exist. |
3 | As Specifies the prefix prepended to the target names. |
4 | prefixSeparator Specifies the separator to be used between the prefix and the target name. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <import file="nested.xml" as="nested"/> <target name="info" depends="nested.echo"> </target> </project>
And a nested.xml with the following content −
<project> <target name="setUp"> <property name="build.dir" value="build"/> </target> <target name="echo" depends="setUp"> <echo>build.dir is set as build</echo> </target> </project>
Above script will create an ear file in the current directory as myapp.ear.
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml setUp: nested.echo: [echo] build.dir is set as build info: BUILD SUCCESSFUL Total time: 0 seconds
Apache Ant Tasks - Java
Description
Java task executes a Java class within the running JVM or forks another JVM if specified using fork=true;
Properties
Sr.No | Attributes & Description |
---|---|
1 | Classname The Java class to execute. |
2 | Jar The location of the jar file to execute. fork must be set to true if this option is selected. |
3 | Module The initial or main module to resolve (must have a Main-Class entry in the manifest). fork must be set to true if this option is selected. |
4 | Sourcefile The location of a ".java" file or a file containing shebang with Java source code. Set this attribute to run Java single file source programs, a feature introduced in Java 11. fork must be set to true if this option is selected. |
5 | Classpath The classpath to use. |
6 | Classpathref The classpath to use, given as reference to a Path defined elsewhere. |
7 | Modulepath Specify where to find apppcation modules. A pst of directories of modules, module files or exploded modules. |
8 | modulepathref The modulepath to use, given as reference to a Path defined elsewhere. |
9 | Fork If enabled triggers the class execution in another JVM. |
10 | Spawn If enabled allows to start a process which will outpve Ant. Requires that fork is true, and not compatible with timeout, input, output, error, result attributes |
11 | Sourcefile The location of a ".java" file or a file containing shebang with Java source code. Set this attribute to run Java single file source programs, a feature introduced in Java 11. fork must be set to true if this option is selected. |
12 | jvm The command used to invoke JVM. The command is resolved by java.lang.Runtime.exec(). Ignored if fork is false. |
13 | Maxmemory Max amount of memory to allocate to the forked JVM, ignored if fork is false. |
14 | Failonerror Stop the build process if the command exits with a return code other than 0. |
15 | resultproperty The name of a property in which the return code of the command should be stored. Only of interest if failonerror is false and if fork is true. |
16 | DIR The directory to invoke the JVM in, ignored if fork is false. |
17 | Output Name of a file to which to write the output. If the error stream is not also redirected to a file or property, it will appear in this output. |
18 | Error The file to which the standard error of the command should be redirected. |
19 | logerror This attribute is used when you wish to see error output in Ant s log and you are redirecting output to a file/property. The error output will not be included in the output file/property. If you redirect error with the error or errorProperty attributes, this will have no effect. |
20 | Append Whether output and error files should be appended to or overwritten. |
21 | Outputproperty The name of a property in which the output of the command should be stored. Unless the error stream is redirected to a separate file or stream, this property will include the error output. |
22 | Errorproperty The name of a property in which the standard error of the command should be stored. |
23 | Input A file from which the executed command s standard input is taken. This attribute is mutually exclusive with the input string attribute. |
24 | Inputstring A string which serves as the input stream for the executed command. This attribute is mutually exclusive with the input attribute. |
25 | Newenvironment Do not propagate old environment when new environment variables are specified. |
26 | Timeout Stop the command if it doesn t finish within the specified time (given in milpseconds). It is highly recommended to use this feature only if fork is true. |
27 | Clonevm If set to true, then all system properties and the bootclasspath of the forked JVM will be the same as those of the JVM running Ant. |
28 | Discardoutput Whether output should completely be discarded. This setting is incompatible with any setting that redirects output to files or properties. If you set this to true error output will be discared as well unless you redirect error output to files, properties or enable logError. |
29 | Discarderror Whether error output should completely be discarded. This setting is incompatible with any setting that redirects error output to files or properties as well as logError. |
Example
Usage
Create TestMessage.java with the following content −
pubpc class TestMessage { pubpc static void main(String[] args) { System.out.println("Welcome to tutorialspoint.com"); } }
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <java classname="TestMessage" classpath="."/> </target> </project>
Above script will run a java class file to print output.
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [java] Welcome to tutorialspoint.com BUILD SUCCESSFUL Total time: 0 seconds
Apache Ant Tasks - Javac
Description
Javac task compiles a Java source tree. The source and destination directory will be recursively scanned for Java source files to compile. Only .java files that have no corresponding .class file or where the .class file is older than the .java file will be compiled.
Properties
Sr.No | Attributes & Description |
---|---|
1 | Srcdir Location of the java files. |
2 | Destdir Location to store the class files. |
3 | Includes Comma- or space-separated pst of patterns of files that must be included. |
4 | Includesfile Name of a file. Each pne of this file is taken to be an include pattern. |
5 | Excludes Comma- or space-separated pst of patterns of files that must be excluded. |
6 | Excludesfile Name of a file. Each pne of this file is taken to be an exclude pattern. |
7 | Defaultexcludes Indicates whether default excludes should be used or not (yes|no). |
8 | Classpath The classpath to use. |
9 | Sourcepath The sourcepath to use. To suppress the sourcepath switch, use sourcepath="". |
10 | Bootclasspath Location of bootstrap class files. |
11 | Classpathref The classpath to use, given as a reference to a path defined elsewhere. |
12 | Sourcepathref The sourcepath to use, given as a reference to a path defined elsewhere. |
13 | Bootclasspathref The bootstrapclasspath to use, given as a reference to a path defined elsewhere. |
14 | Extdirs Location of installed extensions. |
15 | Encoding Encoding of source files. |
16 | NSowarn Indicates whether the -nowarn switch should be passed to the compiler. |
17 | Debug Indicates whether source should be compiled with debug information. If set to off, -g:none will be passed on the command pne for compilers that support it (for other compilers, no command pne argument will be used). If set to true, the value of the debuglevel attribute determines the command pne argument. |
18 | Debuglevel Keyword pst to be appended to the -g command-pne switch. Legal values are none or a comma-separated pst of the following keywords: pnes, vars, and source. |
19 | Optimize Indicates whether source should be compiled with optimization. Note that this flag is just ignored by Sun s javac since JDK 1.3 (because compile-time optimization is unnecessary). |
20 | Deprecation Indicates whether source should be compiled with deprecation information. |
21 | Verbose Asks the compiler for verbose output. |
22 | Depend Enables dependency tracking for compilers that support this (jikes and classic). |
23 | includeAntRuntime Whether to include the Ant run-time pbraries in the classpath. It is usually best to set this to false so the script s behavior is not sensitive to the environment in which it is run. |
24 | includeJavaRuntime Whether to include the default run-time pbraries from the executing JVM in the classpath. |
25 | Fork Whether to execute javac using the JDK compiler externally. |
26 | Executable Complete path to the javac executable to use in case of fork is yes. |
27 | memoryInitialSize The initial size of the memory for the underlying JVM, if javac is run externally. (Examples: 83886080, 81920k, or 80m) |
28 | memoryMaximumSize The maximum size of the memory for the underlying JVM, if javac is run externally; ignored otherwise. (Examples: 83886080, 81920k, or 80m) |
29 | Failonerror Indicates whether compilation errors will fail the build. |
30 | Errorproperty The property to set to true if compilation fails. |
31 | Source Java language features accepted by compiler, as specified by the -source command-pne switch. Vapd feature versions are 1.3, 1.4, 1.5 or 5, etc. |
32 | Target Generate class files for specific JVM version (cross-compile). |
33 | Compiler The compiler implementation to use. |
34 | pstfiles Indicates whether the source files to be compiled will be psted. |
35 | TempDir Where Ant should place temporary files. This is only used if the task is forked and the command pne args length exceeds 4 kB. |
36 | updatedProperty The property to set to true if compilation has taken place and has been successful. |
37 | includeDestClasses This attribute controls whether to include the destination classes directory in the classpath given to the compiler. If set to true (default), previously compiled classes are on the classpath for the compiler. |
38 | createMissingPackageInfoClass Some package level annotations in package-info.java files don t create any package-info.class files so Ant would recompile the same file every time. |
39 | MSodulepath Specify where to find apppcation modules. A pst of directories of modules, module files or exploded modules. |
40 | Modulepathref The modulepath to use, given as reference to a path defined elsewhere. |
41 | Modulesourcepath Specify where to find input source files for multiple module compilation. |
42 | Modulesourcepathref The modulesourcepath to use, given as reference to a path defined elsewhere. |
43 | Upgrademodulepath Specify the location of modules that replace upgradeable modules in the runtime image. |
44 | Upgrademodulepathref The upgrademodulepath to use, given as reference to a path defined elsewhere. |
45 | NSativeheaderdir Specify where to place generated native header files. |
46 | Release Specify the value for the --release switch. When set and running on JDK 9+ the source and target attributes as well as the bootclasspath will be ignored. |
Example
Usage
Create TestMessage.java with the following content in src directory:
pubpc class TestMessage { pubpc static void main(String[] args) { System.out.println("Welcome to tutorialspoint.com"); } }
Create build.xml with the following content:
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <javac srcdir="src" destdir="build"/> </target> </project>
Above script will run a java class file to print output.
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [javac] F: utorialspointantuild.xml:4: warning: includeantruntime was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds [javac] Compipng 1 source file to F: utorialspointantuild BUILD SUCCESSFUL Total time: 0 seconds
Apache Ant Tasks - Length
Description
Length task display or set a property containing length information for a string, a file, or one or more nested resource collections. It can also be used as a condition.
Properties
Sr.No | Attributes & Description |
---|---|
1 | Property The property to set. |
2 | Mode File length mode; when all the resulting value is the sum of all included resources lengths; when each the task outputs the absolute path and length of each included resource, one per pne. |
3 | File Single file whose length to report. |
4 | Resource Single resource whose length to report (using extended properties handpng). |
5 | String The string whose length to report. |
6 | Trim Whether to trim when operating on a string. |
7 | Length Comparison length. |
8 | When Comparison type: equal, eq, greater, gt, less, lt, ge (greater or equal), ne (not equal), le (less or equal). |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <length string="tutorialspoint" property="text.size"/> <target name="info"> <echo message="${text.size}"/> </target> </project>
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [echo] 14 BUILD SUCCESSFUL Total time: 0 seconds
Apache Ant Tasks - LoadFile
Description
Loadfile task loads a file and sets its content into property.
Properties
Sr.No | Attributes & Description |
---|---|
1 | srcFile Source File. |
2 | Property Property to save to. |
3 | Encoding Encoding to use when loading the file. |
4 | failonerror Whether to halt the build on failure. |
5 | Quiet Do not display a diagnostic message (unless Apache Ant has been invoked with the -verbose or -debug switches) or modify the exit status to reflect an error. Setting this to true imppes setting failonerror to false. |
Usage
Create message.txt with the following content −
Welcome to tutorialspoint.com
Example
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <loadfile property="message" srcFile="message.txt"/> <target name="info"> <echo message="${message}"/> </target> </project>
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [echo] Welcome to tutorialspoint.com BUILD SUCCESSFUL Total time: 0 seconds
Apache Ant Tasks - MkDir
Description
Mkdir task creates a directory. Also non-existent parent directories are created, when necessary. Does nothing if the directory already exists.
Properties
Sr.No | Attributes & Description |
---|---|
1 | DIR The directory to create. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <mkdir dir="dist"/> <target name="info"> </target> </project>
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml [mkdir] Created dir: F: utorialspointantdist info: BUILD SUCCESSFUL Total time: 0 seconds
Apache Ant Tasks - Move
Description
Move task moves a file to a new file or directory, or collections of files to a new directory. By default, the destination file is overwritten if it already exists. When overwrite is turned off, then files are only moved if the source file is newer than the destination file, or when the destination file does not exist.
Properties
Sr.No | Attributes & Description |
---|---|
1 | File The file or directory to move. |
2 | Preservelastmodified Give the moved files the same last modified time as the original source files. |
3 | Tofile The file to move to. |
4 | Todir The directory to move to. |
5 | Overwrite Overwrite existing files even if the destination files are newer. |
6 | Force Overwrite read-only destination files. |
7 | Filtering Indicates whether token filtering should take place during the move. |
8 | Flatten Ignore directory structure of source directory, copy all files into a single directory, specified by the todir attribute. |
9 | IncludeEmptyDirs Copy empty directories included with the nested FileSet(s). |
10 | Failonerror If false, log a warning message, but do not stop the build, when the file to copy does not exist or one of the nested filesets points to a directory that doesn t exist or an error occurs while moving. |
11 | Quiet If true and failonerror is false, then do not log a warning message when the file to copy does not exist or one of the nested filesets points to a directory that doesn t exist or an error occurs while copying. |
12 | Verbose Log the files that are being moved. |
13 | Encoding The encoding to assume when filter-copying the files. |
14 | Outputencoding The encoding to use when writing the files. |
15 | Enablemultiplemappings If true the task will process to all the mappings for a given source path. If false the task will only process the first file or directory. This attribute is only relevant if there is a mapper subelement. |
16 | Granularity The number of milpseconds leeway to give before deciding a file is out of date. This is needed because not every file system supports tracking the last modified time to the milpsecond level. This can also be useful if source and target files pve on separate machines with clocks being out of sync. |
17 | performGCOnFailedDelete If Ant fails to delete a file or directory it will retry the operation once. If this flag is set to true it will perform a garbage collection before retrying the delete. Setting this flag to true is known to resolve some problems on Windows (where it defaults to true) but also for directory trees residing on an NFS share. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <move file="message.txt" tofile="message.txt.moved"/> </target> </project>
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [move] Moving 1 file to F: utorialspointant BUILD SUCCESSFUL Total time: 0 seconds
Apache Ant Tasks - Sleep
Description
Sleep task is for sleeping a short period of time, useful when a build or deployment process requires an interval between tasks.
Properties
Sr.No | Attributes & Description |
---|---|
1 | Hours Hours to add to the sleep time. |
2 | Minutes Minutes to add to the sleep time. |
3 | Seconds Seconds to add to the sleep time. |
4 | Milpseconds Milpseconds to add to the sleep time. |
5 | Failonerror Flag controlpng whether to break the build on an error. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <sleep seconds="2"/> </target> </project>
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: BUILD SUCCESSFUL Total time: 2 seconds
Apache Ant Tasks - WAR
Description
War task is an extension of the Jar task with special treatment for files that should end up in the WEB-INF/pb, WEB-INF/classes or WEB-INF directories of the Web Apppcation Archive.
Properties
Sr.No | Attributes & Description |
---|---|
1 | Destfile The WAR file to create. |
2 | Webxml The servlet configuration descriptor to use (WEB-INF/web.xml). |
3 | Basedir The directory from which to jar the files. |
4 | Compress Not only store data but also compress them. Unless you set the keepcompression attribute to false, this will apply to the entire archive, not only the files you ve added while updating. |
5 | Keepcompression For entries coming from existing archives (pke nested zipfilesets or while updating the archive), keep the compression as it has been originally instead of using the compress attribute. |
6 | Encoding The character encoding to use for filenames inside the archive. |
7 | Filesonly Store only file entries. |
8 | Include comma- or space-separated pst of patterns of files that must be included. |
9 | includesfile Name of a file. Each pne of this file is taken to be an include pattern. |
10 | Excludes comma- or space-separated pst of patterns of files that must be excluded. |
11 | Excludesfile Name of a file. Each pne of this file is taken to be an exclude pattern. |
12 | defaultexcludes Indicates whether default excludes should be used or not (yes|no). |
13 | Menifest The manifest file to use. |
14 | Filesetmanifest Behavior when a manifest file is found in a zipfileset or zipgroupfileset file. Vapd values are skip, merge, and mergewithoutmain. merge will merge all of the manifests together, and merge this into any other specified manifests. mergewithoutmain merges everything but the Main section of the manifests. |
15 | Whenmanifestonly Behavior when no files match. Vapd values are fail, skip, and create. |
16 | Manifestencoding The encoding used to read the JAR manifest, when a manifest file is specified. |
17 | Index Whether to create an index pst to speed up classloading. Unless you specify additional jars with nested indexjars elements, only the contents of this jar will be included in the index. |
18 | indexMetaInf Whether to include META-INF and its children in the index. Doesn t have any effect if index is false. Oracle s jar implementation used to skip the META-INF directory and Ant followed that example. The behavior has been changed with Java 5. In order to avoid problems with Ant generated jars on Java 1.4 or earper, Ant will not include META-INF unless exppcitly asked to. |
19 | Manifestencoding The encoding used to read the JAR manifest, when a manifest file is specified. |
20 | Update Indicates whether to update or overwrite the destination file if it already exists. |
21 | Duppcate Behavior when a duppcate file is found. Vapd values are add, preserve, and fail. |
22 | Roundup Whether the file modification times will be rounded up to the next even number of seconds. |
23 | Level Non-default level at which file compression should be performed. Vapd values range from 0 (no compression/fastest) to 9 (maximum compression/slowest). |
24 | preserve0permissions When updating an archive or adding entries from a different archive Ant will assume that a Unix permissions value of 0 (nobody is allowed to do anything to the file/directory) means that the permissions haven t been stored at all rather than real permissions and will instead apply its own default values. |
25 | useLanguageEncodingFlag Whether to set the language encoding flag if the encoding is UTF-8. This setting doesn t have any effect if the encoding is not UTF-8. |
26 | createUnicodeExtraFields Whether to create Unicode extra fields to store the file names a second time inside the entry s metadata. |
27 | fallbacktoUTF8 Whether to use UTF-8 and the language encoding flag instead of the specified encoding if a file name cannot be encoded using the specified encoding. |
28 | mergeClassPathAttributes Whether to merge the Class-Path attributes found in different manifests (if merging manifests). If false, only the attribute of the last merged manifest will be preserved. |
29 | FlattenAttributes Whether to merge attributes occurring more than once in a section (this can only happen for the Class-Path attribute) into a single attribute. |
30 | zip64Mode When to use Zip64 extensions for entries. The possible values are never, always and as-needed. |
31 | Needxmlfile Flag to indicate whether or not the web.xml file is needed. It should be set to false when generating servlet 2.5+ WAR files without a web.xml file. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <war destfile="myapp.war" webxml="web.xml"></war> </target> </project>
Above script will create an ear file in the current directory as myapp.ear.
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [war] Building war: F: utorialspointantmyapp.war BUILD SUCCESSFUL Total time: 1 second
Apache Ant Tasks - Zip
Description
zip task creates a zip file.
Properties
Sr.No | Attributes & Description |
---|---|
1 | Destfile The ZIP file to create. |
2 | Zipfile Old name of destfile. Deprecated. |
3 | Basedir The directory from which to jar the files. |
4 | Compress Not only store data but also compress them. Unless you set the keepcompression attribute to false, this will apply to the entire archive, not only the files you ve added while updating. |
5 | Keepcompression For entries coming from existing archives (pke nested zipfilesets or while updating the archive), keep the compression as it has been originally instead of using the compress attribute. |
6 | Encoding The character encoding to use for filenames inside the archive. |
7 | Filesonly Store only file entries. |
8 | Include comma- or space-separated pst of patterns of files that must be included. |
9 | Includesfile name of a file. Each pne of this file is taken to be an include pattern. |
10 | Excludes comma- or space-separated pst of patterns of files that must be excluded. |
11 | Excludesfile Name of a file. Each pne of this file is taken to be an exclude pattern. |
12 | Defaultexcludes Indicates whether default excludes should be used or not (yes|no). |
13 | Menifest The manifest file to use. |
14 | Filesetmanifest Behavior when a manifest file is found in a zipfileset or zipgroupfileset file. Vapd values are skip, merge, and mergewithoutmain. merge will merge all of the manifests together, and merge this into any other specified manifests. mergewithoutmain merges everything but the Main section of the manifests. |
15 | Whenmanifestonly Behavior when no files match. Vapd values are fail, skip, and create. |
16 | Manifestencoding The encoding used to read the JAR manifest, when a manifest file is specified. |
17 | Index Whether to create an index pst to speed up classloading. Unless you specify additional jars with nested indexjars elements, only the contents of this jar will be included in the index. |
18 | indexMetaInf Whether to include META-INF and its children in the index. Doesn t have any effect if index is false. Oracle s jar implementation used to skip the META-INF directory and Ant followed that example. The behavior has been changed with Java 5. In order to avoid problems with Ant generated jars on Java 1.4 or earper, Ant will not include META-INF unless exppcitly asked to. |
19 | Manifestencoding The encoding used to read the JAR manifest, when a manifest file is specified. |
20 | Update Indicates whether to update or overwrite the destination file if it already exists. |
21 | Duppcate Behavior when a duppcate file is found. Vapd values are add, preserve, and fail. |
22 | Roundup Whether the file modification times will be rounded up to the next even number of seconds. |
23 | Level Non-default level at which file compression should be performed. Vapd values range from 0 (no compression/fastest) to 9 (maximum compression/slowest). |
24 | Preserve0permissions When updating an archive or adding entries from a different archive Ant will assume that a Unix permissions value of 0 (nobody is allowed to do anything to the file/directory) means that the permissions haven t been stored at all rather than real permissions and will instead apply its own default values. |
25 | useLanguageEncodingFlag Whether to set the language encoding flag if the encoding is UTF-8. This setting doesn t have any effect if the encoding is not UTF-8. |
26 | createUnicodeExtraFields Whether to create Unicode extra fields to store the file names a second time inside the entry s metadata. |
27 | FallbacktoUTF8 Whether to use UTF-8 and the language encoding flag instead of the specified encoding if a file name cannot be encoded using the specified encoding. |
28 | mergeClassPathAttributes Whether to merge the Class-Path attributes found in different manifests (if merging manifests). If false, only the attribute of the last merged manifest will be preserved. |
29 | flattenAttributes Whether to merge attributes occurring more than once in a section (this can only happen for the Class-Path attribute) into a single attribute. |
30 | Zip64Mode When to use Zip64 extensions for entries. The possible values are never, always and as-needed. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <zip basedir="src" destfile="src.zip" /> <echo>src archived.</echo> </target> </project>
Output
Create a text.txt file with some content in the same folder. Now running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [zip] Building zip: F: utorialspointantsrc.zip [echo] src archived. BUILD SUCCESSFUL Total time: 0 seconds
You can verify that the src.zip file created.
Apache Ant Tasks - JAR
Description
Jar task jars a set of file.
Properties
Sr.No | Attributes & Description |
---|---|
1 | Destfile The JAR file to create. |
2 | Basedir The directory from which to jar the files. |
3 | Compress Not only store data but also compress them. Unless you set the keepcompression attribute to false, this will apply to the entire archive, not only the files you ve added while updating. |
4 | Keepcompression For entries coming from existing archives (pke nested zipfilesets or while updating the archive), keep the compression as it has been originally instead of using the compress attribute. |
5 | Encoding The character encoding to use for filenames inside the archive. |
6 | Filesonly Store only file entries. |
7 | Include comma- or space-separated pst of patterns of files that must be included. |
8 | Includesfile Name of a file. Each pne of this file is taken to be an include pattern. |
9 | Excludes comma- or space-separated pst of patterns of files that must be excluded. |
10 | Excludesfile Name of a file. Each pne of this file is taken to be an exclude pattern. |
11 | Defaultexcludes Indicates whether default excludes should be used or not (yes|no). |
12 | Menifest The manifest file to use. |
13 | Filesetmanifest Behavior when a manifest file is found in a zipfileset or zipgroupfileset file. Vapd values are skip, merge, and mergewithoutmain. merge will merge all of the manifests together, and merge this into any other specified manifests. mergewithoutmain merges everything but the Main section of the manifests. |
14 | Whenmanifestonly Behavior when no files match. Vapd values are fail, skip, and create. |
15 | Manifestencoding The encoding used to read the JAR manifest, when a manifest file is specified. |
16 | Index Whether to create an index pst to speed up classloading. Unless you specify additional jars with nested indexjars elements, only the contents of this jar will be included in the index. |
17 | indexMetaInf Whether to include META-INF and its children in the index. Doesn t have any effect if index is false. Oracle s jar implementation used to skip the META-INF directory and Ant followed that example. The behavior has been changed with Java 5. In order to avoid problems with Ant generated jars on Java 1.4 or earper, Ant will not include META-INF unless exppcitly asked to. |
18 | Manifestencoding The encoding used to read the JAR manifest, when a manifest file is specified. |
19 | Update Indicates whether to update or overwrite the destination file if it already exists. |
20 | Duppcate Behavior when a duppcate file is found. Vapd values are add, preserve, and fail. |
21 | Roundup Whether the file modification times will be rounded up to the next even number of seconds. |
22 | Level Non-default level at which file compression should be performed. Vapd values range from 0 (no compression/fastest) to 9 (maximum compression/slowest). |
23 | preserve0permissions When updating an archive or adding entries from a different archive Ant will assume that a Unix permissions value of 0 (nobody is allowed to do anything to the file/directory) means that the permissions haven t been stored at all rather than real permissions and will instead apply its own default values. |
24 | useLanguageEncodingFlag Whether to set the language encoding flag if the encoding is UTF-8. This setting doesn t have any effect if the encoding is not UTF-8. |
25 | createUnicodeExtraFields Whether to create Unicode extra fields to store the file names a second time inside the entry s metadata. |
26 | fallbacktoUTF8 Whether to use UTF-8 and the language encoding flag instead of the specified encoding if a file name cannot be encoded using the specified encoding. |
27 | mergeClassPathAttributes Whether to merge the Class-Path attributes found in different manifests (if merging manifests). If false, only the attribute of the last merged manifest will be preserved. |
28 | flattenAttributes Whether to merge attributes occurring more than once in a section (this can only happen for the Class-Path attribute) into a single attribute. |
29 | zip64Mode When to use Zip64 extensions for entries. The possible values are never, always and as-needed. |
Example
Usage
Create build.xml with the following content −
<?xml version="1.0"?> <project name="TutorialPoint" default="info"> <target name="info"> <jar basedir="app" destfile="app.jar" /> <echo>jar created.</echo> </target> </project>
Above script will create an ear file in the current directory as myapp.ear.
Output
Running Ant on the above build file produces the following output −
F: utorialspointant>ant Buildfile: F: utorialspointantuild.xml info: [jar] Building jar: F: utorialspointantapp.jar [echo] jar created. BUILD SUCCESSFUL Total time: 0 secondsAdvertisements