Ant - 使用命令行参数

  • 简述

    Ant 可以轻松读取命令行参数以将数据传递给它的任务。
  • 命令行参数选项

    
    ant [options] [target [target2 [target3] ...]]
    Options:
       -help,          -h              print this message and exit
       -projecthelp,   -p              print project help information and exit
       -version                        print the version information and exit
       -diagnostics                    print information that might be helpful to diagnose or report problems and exit
       -quiet,         -q              be extra quiet
       -silent,        -S              print nothing but task outputs and build failures
       -verbose,       -v              be extra verbose
       -debug,         -d              print debugging information
       -emacs,         -e              produce logging information without adornments
       -lib          <path>            specifies a path to search for jars and classes
       -logfile      <file>            use given file for log
       -l            <file>                      ''
       -logger       <classname>       the class which is to perform logging
       -listener     <classname>       add an instance of class as a project listener
       -noinput                              do not allow interactive input
       -buildfile    <file>            use given buildfile
       -file         <file>                      ''
       -f            <file>                      ''
       -D            <property>=<value>   use value for given property
       -keep-going,    -k              execute all targets that do not depend on failed target(s)
       -propertyfile <name>            load all properties from file with -D properties taking precedence
       -inputhandler <class>           the class which will handle input requests
       -find         <file>            (s)earch for buildfile towards the root of
       -s            <file>            the filesystem and use it
       -nice         number            A niceness value for the main thread:1 (lowest) to 10 (highest); 5  is the default
       -nouserlib                      Run ant without using the jar files from ${user.home}/.ant/lib
       -noclasspath                    Run ant without using CLASSPATH
       -autoproxy                      Java 5+ : use the OS proxies
       -main         <class>           override Ant's normal entry point
    
    我们将使用 -Dproperty 将变量传递给构建任务。
  • 例子

    使用具有以下内容的 text1.txt 文件创建一个 src 文件夹 -
    
    This is a sample text written in 2021.
    
    使用以下内容创建 build.xml -
    
    <?xml version="1.0"?>
    <project name="sample" basedir="." default="copy">
       <target name="copy">
          <copy todir="${dest.dir}" filtering="true">
          <fileset dir="${src.dir}"/>
          </copy>
       </target>
    </project>
    
  • 输出

    这里我们使用 src.dir 和 dest.dir 属性,但没有定义它们。我们将使用命令行参数传递它们。在上述构建文件上运行 Ant 会产生以下输出 -
    
    F:\jc2182\ant>ant -Dsrc.dir=src -Ddest.dir=build
    Buildfile: F:\jc2182\ant\build.xml
    
    copy:
       [copy] Copying 1 file to F:\jc2182\ant\build
    BUILD SUCCESSFUL
    Total time: 0 seconds
    
    F:\jc2182\ant>
    
    验证复制文件的内容以构建文件夹。
    
    This is a sample text written in 2021.