Ant - 即使编译器错误,也会生成.class文件

时间:2015-08-06 07:24:45

标签: ant build

如果代码有编译错误,如何使用Ant成功构建?

如果我有3个.java文件且1有编译错误,是否有什么可以使我的构建成功并且可以给我剩余的2个.class文件?

<target name="build" description="Compiles the Source code" depends="Directory.check">
    <echo>Compilation Starts</echo>
    <javac failonerror="false" includeantruntime="false" destdir="${build.dir}"
        deprecation="false" optimize="true" executable="${exec.dir}">
        <compilerarg value="-Xlint:unchecked"/>
        <compilerarg value="-Xlint:deprecation"/>
        <src path="${src.dir}"/>
        <classpath refid="master-classpath"/>
    </javac>
    <echo>Compilation Ends</echo>
</target>

1 个答案:

答案 0 :(得分:0)

迭代使用来自ant-contrib的src文件。 将文件名传递给javac in includes属性,src basedir为srcdir。

<target name="compile" depends="init" description="compile the source ">
    <for param="file">
        <path>
            <fileset dir="${src}" includes="**/*.java" excludes="**/Sanity/*.java"/>
        </path>
        <sequential>
            <local name="program"/>
            <basename property="program" file="@{file}" suffix=".java"/>
            <javac includeantruntime="false" srcdir="${src}" debug="on" includes="**/${program}.java"
            excludes="**/Sanity/*.java" destdir="${build}" failonerror="false" 
            verbose="true">
                <compilerarg value="-Xbootclasspath/p:${toString:lib.path.ref} -Xlint:deprecation -Xlint:unchecked"/>
            </javac>
      </sequential>
    </for>
</target>