寫好ant腳本的第一步

要運用好ant來構建項目,我認爲理清項目的目錄至關重要:

拿myeclipse爲例:WebProject和JavaProject在工作空間的目錄結構:

一個WebProject下面會有兩個屬於我們的目錄   /src 、/WebRoot,其餘的.classpath   .project爲IDE工具自己生成的配置文件

/src一般存放項目的各種配置文件和java文件

/WebRoot是Web項目的根目錄,存放各種jsp、圖片、js庫、各種jar包、各類資源等

在/WebRoot目錄下有一個WEB-INF目錄, 裏面有一個文件夾爲classes,myeclipse會把/src下的java文件編譯後生成的class文件放到這裏,如果web應用存在依賴的其他項目,則會把其他項目編譯後生成的class文件一併放到這裏

 

一個JavaProject下面也會有兩個屬於我們的目錄  /bin、/src

/src和web項目一樣存放java源文件,

/bin目錄下就存放着編譯java後生成的class文件                        這裏說的目錄均指myeclipse工作空間的目錄

 

myeclipse的部署都完成了哪些任務?

1、編譯:我們點擊Deploy的時候往往都是部署一個WebProject,myeclipse會先編譯項目中的java文件,也就是/src裏的java文件(如果有的話)、然後檢查項目是否存在依賴關係(通過工作空間裏的.classpath配置文件,可以去閱讀一下這個配置文件)如果web項目存在依賴關係,就會去編譯所依賴的項目中的java文件,對於web項目,編譯.java生成的.class會放在/WebRoot/WEB-INF/classes/ 下面,對於java項目, 編譯.java生成的.class會放在  /bin下面

2、組合:組合就是把web項目所依賴的其他項目下的class文件放在自己的目錄下,因爲上傳到服務器上的只有WebProject,所以myeclipse會把其他項目/bin下面的class文件copy到自己的classes文件夾下

3、上傳:把組合後的WebRoot目錄下面的所有內容, 上傳到服務器上以項目名命名的目錄下。

 

以上這種部署是我們本地的部署, 但就我的項目經驗而言,生產機上的項目目錄並非這樣:

在生產機上, 項目的classes文件夾下不存放任何class文件,只存放和項目有關的配置文件,而web依賴的class文件會打成相應的jar包放在/WEB-INF/lib/下面,

這樣管理起來比較方便, 每次程序如果有更新也比較方便。

其實ant腳本就是按照這個思路,手動的按照生產機上的目錄完成編譯、打包、放置的過程

 

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