- 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 - 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 secondsAdvertisements