使用java语言用ant删除对象树

时间:2016-01-09 20:41:39

标签: ant

当我执行“make clean”时,它会删除C分发中的所有目标文件。

在Java发行版中使用ant时,命令“make clean”是什么?

1 个答案:

答案 0 :(得分:1)

基于Java的构建工具通常在目标目录中构建所有内容。 ANT构建通常具有“干净”目标,其工作方式如下:

<target name="clean" description="Cleanup build files">
    <delete dir="${build.dir}"/>
</target>

我的建议不是要打这个:-)它可能看起来很愚蠢,但是默认情况下Maven这样的高级工具是如何工作的。

实施例

我通常会在构建文件的顶部声明一些标准属性:

<property name="src.dir"        location="src/main/java"/>
<property name="build.dir"      location="build"/>

<property name="dist.dir"       location="${build.dir}/dist"/>
<property name="jar.main.class" value="org.demo.App"/>
<property name="jar.file"       value="${dist.dir}/${ant.project.name}.jar"/>

用于构建我的jar如下:

<target name="compile" description="Compile code">
    <mkdir dir="${build.dir}/classes"/>
    <javac srcdir="${src.dir}" destdir="${build.dir}/classes" includeantruntime="false" debug="true" classpathref="compile.path"/>
</target>

<target name="build" depends="compile" description="Create executable jar archive">
    <jar destfile="${jar.file}" basedir="${build.dir}/classes">
        <manifest>
            <attribute name="Main-Class" value="${jar.main.class}" />
        </manifest>
    </jar>
</target>

如果仔细观察,你会注意到ANT所做的一切都是在“build”子目录下创建的。