2011-04-30 33 views
1

我有一個Java項目,是依賴於那些兄弟姐妹和有依賴性鏈其他Java項目。每個單獨的項目都有一個用Ant編寫的構建腳本。爲了清楚起見,請在下面找到相同的樣本。大廈連同項目依賴於螞蟻

  1. EARProject取決於WebProjectEJBProject:由構建EARProject的需要由所述EJBProject產生WebProject構建和jar文件生成的文件war

  2. WebProject取決於ComponentOneProject:由ComponentOneProject構建需要建立WebProject產生的jar文件。

  3. EJBProject取決於ComponentTwoProject:由ComponentTwoProject構建需要建立EJBProject產生的jar文件。

所以,當我建立EARProject構建,如果依賴warjar尚未建成,那麼它應該開球WebProject構建和EJBProject構建,如果ComponentOneProject是尚未建成,的ComponentOneProject構建需要被踢,脫落等現象。

有人能提出一個乾淨的方法,通過它,我們可以做到這一點?

回答

1

面對同樣的問題,我們在我們公司編寫了一個定製的Groovy腳本,探索完整的依賴關係樹ant基於所有.project,.classpath,.settings/*文件生成Ant構建腳本。這並不像第一次那樣困難。這樣我們就可以在沒有(My)Eclipse的情況下在乾淨的CVS + JDK + Groovy虛擬機上構建我們的產品。希望它可以幫助..

+0

是的,我喜歡在確定的依賴這條路線。我還繼續在與我用Java編寫新的Ant任務來解釋'.project'和'.classpath'文件的不同的方向相同。我遇到的實際問題是強制構建當前構建依賴的組件。作爲一個例子,從構建上面'EARProject'應該揭開序幕,建立'WebProject'和'EJBProject',如果他們不建呢。 – Shyam 2011-05-05 04:33:19