ant实用手册(三)——ant中的task

俞博涛
2023-12-01
  1. 什么是ant中的task
    ant通过任务实现其功能,比如:编译通过javac任务实现,打jar包通过jar任务完成等等
  2. ant中的常用任务:
    • javac:编译java代码
    • jar:打包class文件为jar
    • war:为web项目打包
    • zip:打包为zip文件
    • copy:复制文件或目录
    • delete:删除文件或目录
    • mkdir:创建文件夹
    • echo:输出信息
    • ftp:通过ftp传输文件
    • scp:通过scp传输文件
    • exec执行命令
  3. 以上列出了ant中最常用的任务,更全的任务列表请参考这里

    Given the large number of tasks available with Ant, it may bedifficult to get an overall view of what each task can do. The followingtables provide a short description of each task and a link to the completedocumentation.

    Archive Tasks
    Audit/Coverage Tasks
    Compile Tasks
    Deployment Tasks
    Documentation Tasks
    EJB Tasks
    Execution Tasks
    File Tasks
    Java2 Extensions Tasks
    Logging Tasks
    Mail Tasks
    Miscellaneous Tasks
    Pre-process Tasks
    Property Tasks
    Remote Tasks
    SCM Tasks
    Testing Tasks

    Archive Tasks[Back to top]
    Task NameDescription
    BUnzip2

    Expands a file packed using GZip or BZip2.

    BZip2

    Packs a file using the GZip or BZip2 algorithm. This task does not do any dependency checking; the output file is always generated

    Cab

    Creates Microsoft CAB archive files. It is invoked similar to the Jar or Zip tasks. This task will work on Windows using the externalcabarc tool (provided by Microsoft), which must be located in your executable path.

    Ear

    An extension of the Jar task with special treatment for files that should end up in an Enterprise Application archive.

    GUnzip

    Expands a GZip file.

    GZip

    GZips a set of files.

    Jar

    Jars a set of files.

    Jlink

    Deprecated. Use the zipfileset and zipgroupfileset attributes of theJar or Zip tasks instead.

    Manifest

    Creates a manifest file.

    Rpm

    Invokes the rpm executable to build a Linux installation file. This task currently only works on Linux or other Unix platforms with RPM support.

    SignJar

    Signs a jar or zip file with the javasign command-line tool.

    Tar

    Creates a tar archive.

    Unjar

    Unzips a jarfile.

    Untar

    Untars a tarfile.

    Unwar

    Unzips a warfile.

    Unzip

    Unzips a zipfile.

    War

    An extension of the Jar task with special treatment for files that should end up in theWEB-INF/lib,WEB-INF/classes, orWEB-INF directories of the Web Application Archive.

    Zip

    Creates a zipfile.

    Audit/Coverage Tasks[Back to top]
    Task NameDescription
    JDepend

    Invokes the JDepend parser. This parser "traverses a set of Java source-file directories and generates design-quality metrics for each Java package".

    Compile Tasks[Back to top]
    Task NameDescription
    Depend

    Determines which classfiles are out-of-date with respect to their source, removing the classfiles of any other classes that depend on the out-of-date classes, forcing the re-compile of the removed classfiles. Typically used in conjunction with theJavac task.

    Javac

    Compiles the specified source file(s) within the running (Ant) VM, or in another VM if thefork attribute is specified.

    Apt

    Runs the annotation processor tool (apt), and then optionally compiles the original code, and any generated source code.

    JspC

    Runs the JSP compiler. It can be used to precompile JSP pages for fast initial invocation of JSP pages, deployment on a server without the full JDK installed, or simply to syntax-check the pages without deploying them. TheJavac task can be used to compile the generated Java source. (For Weblogic JSP compiles, see theWljspc task.)

    NetRexxC

    Compiles a NetRexx source tree within the running (Ant) VM.

    Rmic

    Runs the rmic compiler on the specified file(s).

    Wljspc

    Compiles JSP pages using Weblogic's JSP compiler, weblogic.jspc. (For non-Weblogic JSP compiles, see theJspC task.

    Deployment Tasks[Back to top]
    Task NameDescription
    ServerDeploy

    Task to run a "hot" deployment tool for vendor-specific J2EE server.

    Documentation Tasks[Back to top]
    Task NameDescription
    Javadoc/Javadoc2

    Generates code documentation using the javadoc tool. The Javadoc2 task is deprecated; use the Javadoc task instead.

    EJB Tasks[Back to top]
    Task NameDescription
    EJB Tasks

    (See the documentation describing the EJB tasks.)

    Execution Tasks[Back to top]
    Task NameDescription
    Ant

    Runs Ant on a supplied buildfile, optionally passing properties (with possibly new values). This task can be used to build sub-projects.

    AntCall

    Runs another target within the same buildfile, optionally passing properties (with possibly new values).

    Apply/ExecOn

    Executes a system command. When the os attribute is specified, the command is only executed when Ant is run on one of the specified operating systems.

    Dependset

    This task compares a set of source files with a set of target files. If any of the source files is newer than any of the target files, all the target files are removed.

    Exec

    Executes a system command. When the os attribute is specified, the command is only executed when Ant is run on one of the specified operating systems.

    Java

    Executes a Java class within the running (Ant) VM, or in another VM if the fork attribute is specified.

    Parallel

    A container task that can contain other Ant tasks. Each nested task specified within the<parallel> tag will be executed in its own thread.

    Sequential

    A container task that can contain other Ant tasks. The nested tasks are simply executed in sequence. Its primary use is to support the sequential execution of a subset of tasks within the<parallel> tag.

    Sleep

    A task for suspending execution for a specified period of time. Useful when a build or deployment process requires an interval between tasks.

    Subant

    Calls a given target for all defined sub-builds. This is an extension of ant for bulk project execution.

    Waitfor

    Blocks execution until a set of specified conditions become true. This task is intended to be used with theParallel task to synchronize a set of processes.

    File Tasks[Back to top]
    Task NameDescription
    Attrib

    Changes the permissions and/or attributes of a file or all files inside the specified directories. Currently, it has effect only under Windows.

    Checksum

    Generates a checksum for a file or set of files. This task can also be used to perform checksum verifications.

    Chgrp

    Changes the group ownership of a file or all files inside the specified directories. Currently, it has effect only under Unix.

    Chmod

    Changes the permissions of a file or all files inside the specified directories. Currently, it has effect only under Unix. The permissions are also UNIX style, like the arguments for thechmod command.

    Chown

    Changes the owner of a file or all files inside the specified directories. Currently, it has effect only under Unix.

    Concat

    Concatenates multiple files into a single one or to Ant's logging system.

    Copy

    Copies a file or Fileset to a new file or directory.

    Copydir

    Deprecated. Use the Copy task instead.

    Copyfile

    Deprecated. Use the Copy task instead.

    Delete

    Deletes either a single file, all files and sub-directories in a specified directory, or a set of files specified by one or moreFileSets.

    Deltree

    Deprecated. Use the Delete task instead.

    Filter

    Sets a token filter for this project, or reads multiple token filters from a specified file and sets these as filters. Token filters are used by all tasks that perform file-copying operations.

    FixCRLF

    Modifies a file to add or remove tabs, carriage returns, linefeeds, and EOF characters.

    Get

    Gets a file from a URL.

    Mkdir

    Creates a directory. Non-existent parent directories are created, when necessary.

    Move

    Moves a file to a new file or directory, or a set(s) of file(s) to a new directory.

    Patch

    Applies a "diff" file to originals.

    Rename

    Deprecated. Use the Move task instead.

    RenameExtensions

    Deprecated. Use the Move task with a glob mapper instead.

    Replace

    Replace is a directory-based task for replacing the occurrence of a given string with another string in selected file.

    ReplaceRegExp

    Directory-based task for replacing the occurrence of a given regular expression with a substitution pattern in a file or set of files.

    Sync

    Synchronize two directory trees.

    Tempfile

    Generates a name for a new temporary file and sets the specified property to that name.

    Touch

    Changes the modification time of a file and possibly creates it at the same time.

    Java2 Extensions Tasks[Back to top]
    Task NameDescription
    Jarlib-available

    Check whether an extension is present in a FileSet or an ExtensionSet. If the extension is present, the specified property is set.

    Jarlib-display

    Display the "Optional Package" and "Package Specification" information contained within the specified jars.

    Jarlib-manifest

    Task to generate a manifest that declares all the dependencies in manifest. The dependencies are determined by looking in the specified path and searching for Extension/"Optional Package" specifications in the manifests of the jars.

    Jarlib-resolve

    Try to locate a jar to satisfy an extension, and place the location of the jar into the specified property.

    Logging Tasks[Back to top]
    Task NameDescription
    Record

    Runs a listener that records the logging output of the build-process events to a file. Several recorders can exist at the same time. Each recorder is associated with a file.

    Mail Tasks[Back to top]
    Task NameDescription
    Mail

    A task to send SMTP email.

    MimeMail

    Deprecated. Use the Mail task instead.

    Miscellaneous Tasks[Back to top]
    Task NameDescription
    Defaultexcludes

    Modify the list of default exclude patterns from within your build file.

    Echo

    Echoes text to System.out or to a file.

    Fail

    Exits the current build by throwing a BuildException, optionally printing additional information.

    GenKey

    Generates a key in keystore.

    HostInfo

    Sets properties related to the provided host, or to the host the process is run on.

    Input

    Allows user interaction during the build process by displaying a message and reading a line of input from the console.

    Script

    Executes a script in a Apache BSF-supported language.

    Sound

    Plays a sound file at the end of the build, according to whether the build failed or succeeded.

    Splash

    Displays a splash screen.

    Sql

    Executes a series of SQL statements via JDBC to a database. Statements can either be read in from a text file using thesrc attribute, or from between the enclosing SQL tags.

    Taskdef

    Adds a task definition to the current project, such that this new task can be used in the current project.

    TStamp

    Sets the DSTAMP, TSTAMP, and TODAY properties in the current project, based on the current date and time.

    Typedef

    Adds a data-type definition to the current project, such that this new type can be used in the current project.

    XmlValidate

    Checks that XML files are valid (or only well-formed). This task uses the XML parser that is currently used by Ant by default, but any SAX1/2 parser can be specified, if needed.

    Pre-process Tasks[Back to top]
    Task NameDescription
    ANTLR

    Invokes the ANTLR Translator generator on a grammar file.

    AntStructure

    Generates a DTD for Ant buildfiles that contains information about all tasks currently known to Ant.

    Import

    Import another build file and potentially override targets in it with targets of your own.

    Include

    Include another build file.

    JavaCC

    Invokes the JavaCC compiler-compiler on a grammar file.

    Javah

    Generates JNI headers from a Java class.

    JJDoc

    Invokes the JJDoc documentation generator for the JavaCC compiler-compiler. JJDoc takes a JavaCC parser specification and produces documentation for the BNF grammar. It can operate in three modes, determined by command line options. This task only invokes JJDoc if the grammar file is newer than the generated BNF grammar documentation.

    JJTree

    Invokes the JJTree preprocessor for the JavaCC compiler-compiler. It inserts parse-tree building actions at various places in the JavaCC source that it generates. The output of JJTree is run through JavaCC to create the parser. This task only invokes JJTree if the grammar file is newer than the generated JavaCC file.

    Macrodef

    Define a new task as a macro built-up upon other tasks.

    Native2Ascii

    Converts files from native encodings to ASCII with escaped Unicode. A common usage is to convert source files maintained in a native operating system encoding to ASCII, prior to compilation.

    Presetdef

    Define a new task by instrumenting an existing task with default values for attributes or child elements.

    Translate

    Identifies keys in files, delimited by special tokens, and translates them with values read from resource bundles.

    XSLT

    Processes a set of documents via XSLT.

    Property Tasks[Back to top]
    Task NameDescription
    Available

    Sets a property if a specified file, directory, class in the classpath, or JVM system resource is available at runtime.

    Basename

    Sets a property to the last element of a specified path.

    BuildNumber

    Task that can be used to track build numbers.

    Condition

    Sets a property if a certain condition holds true; this is a generalization ofAvailable andUptodate.

    Dirname

    Sets a property to the value of the specified file up to, but not including, the last path element.

    Echoproperties

    Lists the current properties.

    LoadFile

    Loads a file into a property.

    LoadProperties

    Load a file's contents as Ant properties. This task is equivalent to using <property file="..."/> except that it supports nested <filterchain> elements, and it cannot be specified outside a target.

    MakeURL

    Creates a URL (list) from a file/fileset or path

    PathConvert

    Converts a nested path, path reference, filelist reference, or fileset reference to the form usable on a specified platform and/or to a list of items separated by the specified separator and stores the result in the specified property.

    Property

    Sets a property (by name and value), or set of properties (from a file or resource) in the project.

    PropertyFile

    Creates or modifies property files. Useful when wanting to make unattended modifications to configuration files for application servers and applications. Typically used for things such as automatically generating a build number and saving it to a build properties file, or doing date manipulation.

    Uptodate

    Sets a property if a given target file is newer than a set of source files.

    Whichresource

    Find a class or resource.

    XmlProperty

    Loads property values from a well-formed XML file.

    Remote Tasks[Back to top]
    Task NameDescription
    FTP

    Implements a basic FTP client that can send, receive, list, and delete files, and create directories.

    Rexec

    Task to automate a remote rexec session.

    Scp

    Copy files to or from a remote server using SSH.

    setproxy

    Sets Java's web proxy properties, so that tasks and code run in the same JVM can have through-the-firewall access to remote web sites.

    Sshexec

    Execute a command on a remote server using SSH.

    Telnet

    Task to automate a remote telnet session. This task uses nested <read> and <write> tags to indicate strings to wait for and specify text to send.

    SCM Tasks[Back to top]
    Task NameDescription
    Cvs

    Handles packages/modules retrieved from a CVS repository.

    CvsChangeLog

    Generates an XML report of the changes recorded in a CVS repository.

    CVSPass

    Adds entries to a .cvspass file. Adding entries to this file has the same affect as acvs login command.

    CvsTagDiff

    Generates an XML-formatted report file of the changes between two tags or dates recorded in aCVS repository.

    ClearCase

    Tasks to perform the ClearCase cleartool checkin, checkout, uncheckout, update, lock, unlock, mklbtype,rmtype,mklabel,mkattr,mkdir,mkelem, andmkbl commands.

    Continuus/Synergy

    Tasks to perform the Continuus ccmcheckin, ccmcheckout, ccmcheckintask, ccmreconfigure, and ccmcreateTask commands.

    Microsoft Visual SourceSafe

    Tasks to perform the Visual SourceSafe vssget, vsslabel, vsshistory, vsscheckin, vsscheckout, vssadd, vsscp, and vsscreate commands.

    Pvcs

    Allows the user extract the latest edition of the source code from a PVCS repository.

    SourceOffSite

    Tasks to perform the SourceOffSite sosget, soslabel, soscheckin, andsoscheckout commands.

    Testing Tasks[Back to top]
    Task NameDescription
    Junit

    Runs tests from the Junit testing framework. This task has been tested with JUnit 3.0 up to JUnit 3.7; it won't work with versions prior to JUnit 3.0.

    JunitReport

    Merges the individual XML files generated by the Junit task and applies a stylesheet on the resulting merged document to provide a browsable report of the testcases results.

 类似资料: