0

我跟着这个教程。我已经在 /WEB-INF/classes 中构建了一个类。我构建了包含以下内容的文件:

<target name="build" description="Compile main source tree java files">
   <mkdir dir="${build.dir}"/>
   <javac destdir="${build.dir}" source="1.5" target="1.5" debug="true"
             deprecation="false" optimize="false" failonerror="true">
      <src path="${src.dir}"/>
      <classpath refid="master-classpath"/>
   </javac>
</target>

但现在我只是清理,不再建造,

<?xml version="1.0"?>
<project name="fax" basedir="." default="build">
    <property name="src.dir" value="src"/>
    <property name="web.dir" value="war"/>
    <property name="build.dir" value="${web.dir}/WEB-INF/classes"/>
    <property name="name" value="fax"/>

    <path id="master-classpath">
        <fileset dir="${web.dir}/WEB-INF/lib">
            <include name="*.jar"/>
        </fileset>
        <pathelement path="${build.dir}"/>
    </path>



    <target name="build" description="Compile source tree java files">

    </target>


    <target name="clean" description="Clean output directories">
        <delete>
            <fileset dir="${build.dir}">
                <include name="**/*.class"/>
            </fileset>
        </delete>
    </target>


</project>

但不幸的是,当我输入“ant”时,它给了我“构建成功”的消息,但这个文件没有被删除?有人告诉我这里有什么问题吗?谢谢

4

2 回答 2

3

当您键入“ant”时,默认目标将被执行,并且您的默认目标是 ant xml 第一行中定义的“build”

<project name="fax" basedir="." default="build">

要清理,请使用:“ant clean”或将默认目标从构建更改为清理。但我认为您可能希望保留默认目标以分别构建和调用 clean。

其他替代方法是使用目标的依赖关系。即你可以在构建目标之前自动调用干净的目标。

To do this, change the build target tag by adding a depends attribute to it as follows: < target name="build" description="Compile source tree java files" depends="clean">

于 2012-12-05T14:14:42.047 回答
1

Typing ant is like typing ant build.

However, the delete operation is part of the clean target, so you should not expect clean to be executed if you execute ant build.

Try ant clean instead. ant will then execute the clean target.

于 2012-12-05T14:15:19.207 回答