熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

企業應用級別的Ant模組編譯環境[4]

2013-11-23 20:53:28  來源: Java開源技術 

    下面是每個節點的含義

    · 除了lib/ 以外的每個目錄都是一個模塊在這個例子中admin模塊提供了POJO的實現它容許某人來管理應用(例如創建用戶授權等等)同樣的reports模塊中有能夠產生報告的組件的實現而core 模塊中是那些在很多或全部模塊中都用到的組件它們不是真正地和系統的某個功能相聯系(例如StringUtil 類)通常其他地所有模塊都會依賴核心(core)模塊

    其他模塊與admin reports 及core模塊一樣他們有著各自的自包含的系統功能並與其他模塊區別開來此外由於我們的范例應用可以支持基於web的交互我們還可以有一個web模塊包含了用以創建一個war文件所需要的一切內容

    · lib/ 目錄比較特殊它含有應用程序編譯或運行所需地所有第三方jars文件我們把其他模塊所需的所有第三方jars文件放在這個目錄中而不是它們自己的模塊中原因如下

    在一個地方更便於管理對第三方的依賴(thirdparty dependencies)可以在一個模塊的buildxml 文件中利用Ant的<path> 語句來定義改模塊是否使用這些庫文件

    通過排除重復jars文件的可能性從而避免了裝載類或API的版本沖突如果有不止一個模塊使用了一個負責存儲commonsloggingjar文件的Jakarta Commons Logging模塊會發生什麼情況?假設每個模塊都持有Jakarta Commons Logging模塊的備份這樣就會有一個潛在的問題――一個模塊所持有的備份和另外一個模塊所持有的版本不同當應用程序開始運行只有第一個在classpath上找到的jar文件被載入以滿足所需這就潛在地引起了與其他模塊的沖突我們通過在根目錄下只持有一個jar文件來避免這種沖突

    對第三方的依賴隨你的源碼改變版本浏覽很多項目會發現這是你想把你所依賴的庫文件放在CVS上的最重要原因通過這樣做你能確保無論你從CVS上導出的是那個版本或那個分支的軟件你都能找到第三方類庫的合適版本來支持你的軟件的特定版本

    · 根buildxml 文件是主要的管理文件它知道為了編譯每個模塊什麼文件和目標(target譯者注應該是<target>是Ant中的一個語句)是必須的然後由模塊來保證這些物件(artifact)被正確的編譯

[]  []  []  []  []  


From:http://tw.wingwit.com/Article/program/Java/ky/201311/29258.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.