2017-02-24 92 views
1

我正在使用Ant來構建一個java項目,但是我在啓用Ant中的增量構建時遇到了一些問題。螞蟻不能增量構建

我的build.xml文件非常簡單:

<?xml version="1.0"?> 
<project name="fax" basedir="." default="build"> 
    <property name="src.dir" value="src"/> 
    <property name="build.dir" value="build"/> 

    <target name="build" description="Compile source"> 
     <javac destdir="${build.dir}" srcdir="${src.dir}"></javac> 
    </target> 
</project> 

但是,如果我需要多次運行「ant構建」,源文件會被編譯多次。看起來增量構建不起作用。

但是,如果我將我的build.xml更改爲此,請刪除構建目錄並直接在源目錄中構建。

<?xml version="1.0"?> 
<project name="fax" basedir="." default="build"> 
    <property name="src.dir" value="src"/> 

    <target name="build" description="Compile source"> 
     <javac srcdir="${src.dir}"></javac> 
    </target> 
</project> 

使用這個build.xml我可以看到增量構建的結果。當我多次運行「ant build」時,源文件僅在第一次運行時編譯。

我不知道爲什麼會發生這種情況,以及如何解決這個問題。

回答

0

javac將編譯Java源代碼樹。

Javac將查找源和目標目錄中的所有Java源文件。它只會編譯那些沒有.class的java文件,或者類文件比.java文件早。 這是一種漸進式方法。只編譯丟失和更新的文件。

欲瞭解更多信息,你可以參考javac文件。