• ant中build.xml文件解释


    build.xml文件配置:https://www.cnblogs.com/hanxiaomin/p/6731810.html

                    注意:UTF-8,应该写为:UTF8

    下边就是一个完整的build.xml,然后我们来详细的解释每一句
    <?xml version="1.0" encoding="UTF-8" ?>
    <project name="HelloWorld" default="run" basedir=".">
    <property name="src" value="src"/>
    <property name="dest" value="classes"/>
    <property name="hello_jar" value="hello1.jar"/>
    <target name="init">
       <mkdir dir="${dest}"/>
    </target>
    <target name="compile" depends="init">
       <javac srcdir="${src}" destdir="${dest}"/>
    </target>
    <target name="build" depends="compile">
       <jar jarfile="${hello_jar}" basedir="${dest}"/>
    </target>
    <target name="run" depends="build">
       <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
    </target>
    <target name="clean">
       <delete dir="${dest}" />
       <delete file="${hello_jar}" />
    </target>
    <target name="rerun" depends="clean,run">
       <ant target="clean" />
       <ant target="run" />
    </target>
    </project>
    解释:
    <?xml version="1.0" encoding="UTF-8" ?>
    build.xml中的第一句话,没有实际的意义
    <project name="HelloWorld" default="run" basedir=".">
    </project>
    ant的所有内容必须包含在这个里边,name是你给它取的名字,basedir故名思意就是工作的根目录 .代表当前目录。default代表默认要做的事情。
    <property name="src" value="src"/>
    类似程序中的变量,为什么这么做想一下变量的作用
    <target name="compile" depends="init">
       <javac srcdir="${src}" destdir="${dest}"/>
    </target>
    把你想做的每一件事情写成一个target ,它有一个名字,depends是它所依赖的target,在执行这个target 例如这里的compile之前ant会先检查init是否曾经被执行过,如果执行
    过则直接直接执行compile,如果没有则会先执行它依赖的target例如这里的init,然后在执行这个target
    如我们的计划
    编译:
    <target name="compile" depends="init">
    <javac srcdir="${src}" destdir="${dest}"/>
    </target>
    做jar包:
    <target name="build" depends="compile">
    <jar jarfile="${hello_jar}" basedir="${dest}"/>
    </target>
    运行:
    <target name="run" depends="build">
    <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
    </target>
    为了不用拷贝,我们可以在最开始定义好目标文件夹,这样ant直接把结果就放在目标文件夹中了
    新建文件夹:
    <target name="init">
    <mkdir dir="${dest}"/>
    </target>
    为了更多一点的功能体现,又加入了两个target
    删除生成的文件
    <target name="clean">
    <delete dir="${dest}" />
    <delete file="${hello_jar}" />
    </target>
    再次运行,这里显示了如何在一个target里边调用其他的target
    <target name="rerun" depends="clean,run">
    <ant target="clean" />
    <ant target="run" />
    </target>
    好了,解释完成了,下边检验一下你的ant吧
    新建一个src的文件夹,然后把HelloWorld.java按照包目录放进去
    做好build.xml文件
    在命令行下键入ant ,你会发现一个个任务都完成了。每次更改完代码只需要再次键入ant
    有的时候我们可能并不想运行程序,只想执行这些步骤中的某一两个步骤,例如我只想重新部署而不想运行,键入
    ant build
    ant中的每一个任务都可以这样调用ant + target name
    好了,这样一个简单的ant任务完成了。

  • 相关阅读:
    国庆·生日
    国足
    Eason's concert
    今天的斩获
    The 4400
    闷热
    24
    一直登录不了。。。原来是因为。。。
    黄色暴雨警告
    绝密飞行
  • 原文地址:https://www.cnblogs.com/songxiaonan/p/8600780.html
Copyright © 2020-2023  润新知