Ant能干什么,編譯?打包!


  Ant輕便,靈巧,不像Maven一般沉重。

  但是,這是我之前的看法。之前一直使用Eclipse自帶的編譯工具進行編譯,然后采用ant進行打包;但是Eclipse編譯工具編譯之后的jar包參數名稱之類的都丟失了,變成了arg0,arg1這種;對於引用方而言十分不友好(當然可以導出javadoc,但是那不是費二遍事嘛),最近獲知可以通過采用javac進行編譯,指定-g:vars,即可保證編譯之后參數名稱保留。

  於是嘗試着將javac加入到Ant文件中,其實直到此時我才知道eclipse是自帶編譯器的,因為網上有帖子講述分析eclipse的編譯器的class文件和javac編譯文件不同,細節沒看,確定一點,這兩者應該不是一回事。但是我添加了javac之后,運行builder.xml發現報錯,告知slf4.jar沒有。

  直到此時我才清晰的了解到:我們采用Eclipse那套機制,包括工程引用,jar包引用以及Eclipse自帶的編譯器,這些是成套的東東,如果你想要使用Ant來進行編譯,那么需要你將所有的引用關系,以及引用jar包關系,全部配置到Ant配置文件里面,這樣Eclipse退化為了一個代碼結構管理(當然還包括JIT編譯找錯)的小工具。

  如果這樣我還是使用Eclipse來進行管理和編譯吧,采用Ant編譯成本太高了,他還是做做打包這件事我覺得是最好的。

聲明變量

<project>

    <property name="dir.buildfile" value="."/>
    <property name="dir.workspace" value="${dir.buildfile}/.."/>
    <property name="dir.jarfile" value="D:/tmp/setup"/>

  "."代表(Eclipse)工程根目錄

復制文件夾

    <copy todir="${dir.jarfile}">
            <fileset dir="${dir.buildfile}">
                <include name="install/"/>
                <include name="install_monitor/"/>
                <include name="scripts/"/>
            </fileset>
        </copy>

  這里注意install/代表把文件夾以及文件夾里面的東西都拷貝過去;install則代表只是拷貝空文件夾;如果沒有include節點,代表把${dir.buildfile}所有的文件拷貝到todir下面。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM