Apache Ant

Ant 是一个跨平台的基于 Java 语言开发的构件工具

安装 Apache Ant 的前提是你的电脑上已经下载并且安装了 Java 开发工具包(JDK)

创建属性可以统一放在一个文件中 build.properties 放在 build.xml同一目录层

执行ant命令,默认使用当前目录下的build.xml,可以通过-f指定配置文件。  示例:ant -f build.xml

depends:依赖项,执行该target之前需要先执行的target

antcall 可以调用Task  如果一个task1依赖depends另一个task2, 则执行task1时会先执行task2,antcall和depends执行任务区别是用depends的方式调用,那么被调用任务中的设置或者修改的属性值可以在后面的任务中使用,而用antcall的调用就不可以

<antcall> 只能调用同一个脚本之内的构建目标(target),<ant>可以通过antfile属性指定其他脚本内的目标(target)

property   ant中的属性,相当于定义一个变量,通过${属性名}引用 例如

<property name="n1" value="v1" />

<target name="print">

      <echo>${a}</echo>

</target>

拷贝:copy

1.拷贝单个文件到指定路径   <copy file="a.txt" tofile="b.txt" />

2.拷贝单个文件到指定目录  <copy file="a.txt " todir="../tmpdir " / >

3.拷贝一个目录到另外一个目录下

<copy todir="../destDir">

      <fileset dir="srcDir" />

</copy>

4.拷贝一批文件到指定目录下

<copy todir="../destDir">

      <fileset dir="srcDir">

            <include name="**/*.java">

            <exclude name="**/Test.java">

      </fileset>

</copy>

或者

<copy todir="../destDir">

  <fileset dir="srcDir" excludes="**/*.java"/>

</copy>

条件:condition

<property name="a" value="aaa" />

        <!--

                <property name="b" value="bbb" />

        -->

<!-- 如果设置了属性b则值为${b},否则值为${a}-->

<condition property="val" value="${b}" else="${a}">

        <!-- 判断是否设置了指定属性 -->

        <isset property="b" />       

</condition>

删除:delete

1.删除一个文件    <delete file="a.txt" />

2.删除指定目录及其子目录    <delete dir="dir" />

3.删除指定的一组文件

<delete>

      <fileset dir="." includes="**/*.bak" />

</delete>

编译:javac

<javac srcdir="源文件目录" destdir="编译输出目录" classpath="依赖的jar文件或类目录" debug="on表示输入日志信息,off表示不输出" includes="包含文件" excludes="忽略文件" />

java

<java classname="执行的类的全路径名">

        <classpath>

                <pathelement location="xxx.jar" />

                <pathelement path="classpath" />

        </classpath>

</java>

pathelement可以通过location属性包含一个jar或者通过path属性包含一个类路径。classpath用于设定要使用的环境变量。

jar:打包

<jar destfile="xxx.jar" basedir="./classes" includes="./lib/**(包含lib目录下所有文件)" excludes="**/Test.class(忽略所有Test.class)" manifest="自定义mf文件命名"/>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容