ant 工具

ant介紹

ant是構建工具

ant的好處

跨平臺 --因爲ant是使用java實現的,所以它跨平臺
使用簡單--與ant的兄弟make比起來
語法清晰--同樣是和make相比
功能強大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。當你自己開發一些ant插件的時候,你會發現它更多的功能。


1、到http://ant.apache.org/bindownload.cgi

下載Ant,我使用的版本是1.70
解壓縮下載文件到你的工作目錄,這裏以d:\ant_home爲例

2、新增系統變量

新增系統變量:ANT_HOME,內容:d:\ant_home\apache-ant-1.70

在PATH環境變量中加入Ant的bin目錄:%ANT_HOME%\bin 

3、測試安裝

CMD進入命令行界面,運行Ant

出現如下提示,說明安裝成功

E:\srcgen\webwork>ant
Buildfile: build.xml does not exist!
Build failed


用ant構建過程中出現的幾個問題:

1、ant 編碼 GBK 的不可映射字符(出現一堆亂碼)

產生問題的原因:

由於JDK是國際版的,在編譯的時候,如果我們沒有用-encoding參數指定我們的JAVA源程序的編碼格式,則javac.exe首先獲得我們操作系統默認採用的編碼格式,也即在編譯java程序時,若我們不指定源程序文件的編碼格式,JDK首先獲得操作系統的file.encoding參數(它保存的就是操作系統默認的編碼格式,如WIN2k,它的值爲GBK),然後JDK就把我們的java源程序從file.encoding編碼格式轉化爲JAVA內部默認的UNICODE格式放入內存中。然後,javac把轉換後的unicode格式的文件進行編譯成.class類文件,此時.class文件是UNICODE編碼的,它暫放在內存中,緊接着,JDK將此以UNICODE編碼的編譯後的class文件保存到我們的操作系統中形成我們見到的.class文件。對我們來說,我們最終獲得的.class文件是內容以UNICODE編碼格式保存的類文件,它內部包含我們源程序中的中文字符串,只不過此時它己經由file.encoding格式轉化爲UNICODE格式了。當我們不加設置就編譯時,相當於使用了參數:javac -encoding gbk XX.java,當然就會出現不兼容的情況。

解決辦法:在編譯時加上字符指定,如

<javac srcdir="${src}" destdir="${build}/WEB-INF/classes" encoding="utf-8" classpathref="classpath"> 

2、當用ant1.8版本進行構建時,出現如下錯誤信息:

warning 'includeantruntime' was not set , defaulting to build.sysclasspath=last; set to false for repeatable builds. 

原因和解決辦法:That's caused by a misfeature introduced in Ant 1.8. Just add an attribute of that name to the javac task, set it to false, and forget it ever happened.

即在編譯時增加如下屬性: <javac destdir="${output.project.classes.dir}"  encoding="UTF-8" includeantruntime="false">


3,ant編譯時出錯,出現如下錯誤:

無法訪問 javax.servlet.jsp.tagext.JspIdConsumer

這時,我的解決辦法是,把tomcat下面的jar給加上了,然後就不會出現這個錯誤了

<path id="classpath">

<pathelement path="${basedir}"/>

......

          <fileset dir="D:\ProjectIDE\apache-tomcat-6.0.29\lib/">
<include name="*.jar"/>
</fileset>
</path>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章