当我执行“make clean”时,它会删除C分发中的所有目标文件。
在Java发行版中使用ant时,命令“make clean”是什么?
答案 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”子目录下创建的。