web專案ant打包完整案例

dawn009發表於2014-07-02

========================================================================================================
                                                            web專案ant打包完整案例
========================================================================================================


 
 前兩週做的web專案要部署到伺服器上去,為了後續升級部署方便,決定採用Ant進行(開發用的myeclipse 8.5),ant打包測試也是在myeclipse上進行,build.xml測試完成後地透過本地配置的ant進行手工打包:ant -buildfile build.xml.下面將相關過程簡單總結如下:

   (1)運用myeclipseweb專案打war,觀察其他結構和組成,方便ant打包build.xml整理

    

 圖1 web專案s2si結構

 

 2 myeclipse打出war包總體結構


 

3.myeclipse打出warWEB-INFO目錄結構

 

4.myeclipse打出warWEB-INFO\classes目錄結構

   (2)build.xml內容整理:

    

 

   (3)本地安裝Ant並設定ANT_HOMEpath

     

 

   (4)運用本地ant打包:

    

----&gt>打出war包檢視:

    

---&gt>

    

 

   (5)問題及解決歸納總結:

     A1.build.xml注意設定basedir:

     

     ---&gt>這裡basedir="."意思是基礎目錄是與build.xml同級目錄,比如說srcs2si,後續新建目錄都是在此基礎上進行,為了方便打包,可以根據自己需要放置 build.xml,比如我就放在了工程s2si根目錄下.

 

     A2.build.xml注意設定命令中的basedir:

      

打包是將編譯好的class檔案和相關配置檔案集體打包,所以應該選擇   "${build.dir}",開始自己犯錯basedir="${basedir}",直接導致打出的war包下 面很亂,即使打包過程沒出錯,但部署到tomcat上就會報一大堆問題.

 

     A3.打包時需要注意編碼和jdk版本:

    
    deprecation="false" optimize="false" failonerror="true" srcdir="${src.dir}" >
   
   
    


---&gt>字元編碼要和web專案編碼一致,jdk版本要和本地安裝版本一致.如果不致,myeclipse中執行build.xml打包編譯不過,本地手工ant打包會報如下錯:

 eclipse 出現警告: [options] 未與 -source 1.6 一起設定引導類路徑.

 

A4.build.xml複製頁面檔案和配置檔案時注意excludes使用:

       <!-- 複製原始碼目錄中所有的非java檔案 --&gt

        

        

    

  

    

        <!-- WebRoot目錄中所有的非java檔案 --&gt

        

    
 


 

---&gt>說明:

 ${src.dir}=s2si/src

 ${webRoot.dir}=s2si/WebRoot

這裡需要注意的是要排除指定目錄中某些規則的檔案必須用:excludes="**/*.java"或excludes="**/*.class",**/*.*這是ant裡的規則,不是指兩級目錄後的規則篩選.

---&gt> classpath備忘:

這裡用classpath標籤,指定路徑時用classpathref還是用path還是用refid有不同的情況,這裡用的是refid,注意根據自己情況而定.
----&gt> ant打包核心build.xml內容如下:
 






 
 



 
             
 








 




deprecation="false" optimize="false" failonerror="true" srcdir="${src.dir}" >
   
   



<!-- 複製原始碼目錄中所有的非java檔案 --&gt



  

<!-- WebRoot目錄中所有的非java檔案 --&gt












---&gt>關於ant基礎知識和使用指南,請參見:
http://blog.itpub.net/29119536/viewspace-1203386/
---&gt>web專案打包指南請參見:
http://blog.itpub.net/29119536/viewspace-1204798/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1204798/,如需轉載,請註明出處,否則將追究法律責任。

相關文章