ANT手册篇

    xiaoxiao2025-10-29  9

    毫无疑问,ant在文件操作、命令执行、服务器操作等方面相比maven有绝对的优势。本文特此整理了ant一些常用命令,方便日后查阅和使用。


    加载属性(property)

    注意:xml中定义的属性,先定义的不会被后面的覆盖。属性文件中定义的属性,后者会覆盖前者。

    定义一个属性

    <property name="akey" value="avalue" />

    加载属性文件

    <property file="xxxxxx.properties" /> 或 <loadproperties srcFile="xxxxx.properties" />

    引入操作系统环境变量,后续可通过${env.JAVA_HOME}等方式使用 注意:在windows中修改了了环境变量,可能需要注销并重新登录才能被ant识别

    <property environment="env" />

    引入一个属性。注意,可以在任何地方引入,包括属性文件中

    ${属性名}

    当条件成立时,会进行赋值操作

    <condition property="akey" value="avalue"> <isset property="keyexists" /> </condition>

    任务

    引入外部build.xml,其中的property和target等也会被引入

    <import file="build.xml" />

    定义一个task,并制定它依赖的task

    <target name="clean" depends="a,b,c"></target>

    引入第三方的task定义

    <taskdef resource="com/xxxxx/xxxxxx/xxxxxx.properties" />

    echo

    <echo message="hehe" />

    扔出一个异常

    <fail message="hehe" />


    文件/目录操作

    删除文件或目录,注意:会连同目录本身一起删除

    <delete includeemptydirs="true" failonerror="false" dir="./bin" ></delete> <delete includeemptydirs="true" failonerror="false" file="./xxxx.jar" ></delete>

    清空某目录

    <delete includeemptydirs="true"> <fileset dir="./bin"> <include name="**/*"/> </fileset> </delete>

    重命名或移动文件

    <move file="${p1}/target/${p1oldname}" tofile="${p1}/target/${p1name}"/>

    在远程机器执行ssh命令

    执行远程ssh命令

    <sshexec host="${address}" username="${user}" password="${password}" trust="true" command="pkill java" />

    使用scp进行文件上传操作

    <scp todir="${user}:${password}@${address}:/root/" trust="true"> <fileset dir="./target" includes="*.jar"/> </scp>

    执行cmd命令

    执行cmd命令 注意:如果命令中包含双引号,需要使用&quot;来进行转义(参考html)

    <exec dir="." executable="cmd.exe" > <arg line="/c notepad.exe" /> </exec>

    数据库操作

    执行sql语句 注意:需要将对应的数据库驱动复制到${ANT_HOME}/lib下

    <sql driver="com.mysql.jdbc.Driver" url="jdbc:mysql:xxxxxxxxx" userid="root" password="xxxxxxx" > insert into xxxxx values(xxx,xxx,xx); </sql>
    转载请注明原文地址: https://ju.6miu.com/read-1303629.html
    最新回复(0)