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」を使用するか、デフォルトのターゲットを build から clean に変更します。しかし、デフォルトのターゲットを維持して、ビルドと呼び出しを別々に行うことをお勧めします。

他の代替手段は、ターゲットの依存関係を使用することです。つまり、ビルド ターゲットの前にクリーン ターゲットを自動的に呼び出すことができます。

これを行うには、次のように、depends 属性を追加してビルド ターゲット タグを変更します。

于 2012-12-05T14:14:42.047 に答える
1

タイピングantはタイピングに似ていますant build

ただし、削除操作は clean ターゲットの一部であるため、 を実行しても clean が実行されるとは思わないでくださいant build

ant clean代わりに試してください。その後、ant はcleanターゲットを実行します。

于 2012-12-05T14:15:19.207 に答える