2011-02-28 52 views
1

我很喜歡在java jars部署。我有以下場景:我在eclipse中有大約6個項目,它們有各種類型(常見接口的核心項目,包含osgi包的項目,測試項目,用於web部署的servlet項目)。我想要快速,可靠地打包我的包並將其部署到容器中。直到今天,我只是通過eclipse導出jar然後編輯清單來做這件事。螞蟻部署而不是eclipse來緩解開發

我認爲最好的方法(沒有太多的工作)將使用一個大的Ant構建文件和目標來解決我最迫切需要的事情(現在創建OSGi包),然後逐步從更多的構建邏輯日蝕到生成文件(我知道有一個簡單的方法來通過eclipse運行螞蟻目標,甚至用自定義生成文件替換eclipse的autoprojectbuild邏輯)。

所以這是我的計劃:

1)創建於src目錄一切(包括所有項目1個主構建文件)

2)對於OSGi包項目建設創造任務。使用manifest.txt用手工艙單我的包和複製粘貼(通過Ant任務)都罐子,在這束需要和使用捆綁-classpath中聲明我的內包依賴

3)創建JUnit測試跑步者的自定義目標

4)創建其他目標最終發佈之前建設的各種項目

5),造成大目標 「DIST」 打包整個軟件

所以我的2個問題是:

是這個我的計劃好(在開發時間和合理的複雜性方面)?

使用1個大的構建文件有什麼缺點嗎?我閱讀了Ant in Action書的一部分,但它看起來像多個構建文件只會導致更多的複雜性(要聲明項目之間的依賴關係並不容易.OTH與1個大文件我可以使用target依賴屬性)。

回答

2

進行腳本構建/部署幾乎總是一個好的步驟。它僅僅爲自動化部署提供了更多的可能性,但測試構建,持續集成等等。就個人而言,我不會過多地試圖獲得eclipse(您的IDE)和構建工具之間的集成。如果它很容易在eclipse中點擊某些東西,很好,但它可能值得努力,可以很舒服地從命令行運行腳本。如果你發現螞蟻不是你的項目的正確工具,或者甚至你可能想在某一天移動到不同的IDE,分離這兩個問題(開發經驗,從構建生命週期)也會開放更多的選擇。

+0

您是否有開發大型項目的經驗,IDE僅用於開發,但通過命令行工具(Ant)運行應用程序本身? – 2011-02-28 09:20:43

+1

是的,很多。除了玩具或實驗工作之外,任何事情都會很快超出eclipse開發環境的構建或運行時負載。它非常適合開發和調試,但其他工具的外部工具創造了更多的可能性。你可以從一個簡單的螞蟻腳本或腳本開始,隨後進行調整,修改,添加或替換它們。關鍵是在概念上突破發展,從構建過程,從管理實際運行時環境 – magicduncan 2011-02-28 09:39:05

1

聽起來很適合Maven而不是Ant。 Maven原型涵蓋了你所談論的所有事情。這是一個陡峭的學習曲線,但非常值得努力。

+0

我也去與馬特。上面描述的問題可以通過maven很容易地解決,並且將來如果你繼續做這樣的項目,maven可以很容易地集成所有這些項目。 – Vicky 2011-02-28 13:12:31