2010-01-15 23 views
2

什麼是完成所有的以下最正確的方法:Java,Eclipse,Ant,JUnit,Hudson,SVN,本地庫;他們可以共存嗎?

  • 構建文件
  • 在Eclipse中創建
  • 與Apache Ant的一個項目,哈德森(或其他推薦更多的CI系統?)使用
  • 並支持由Ant/Hudson和Eclipse運行的JUnit測試
  • 並檢查SVN中的正確文件夾結構,以便將來的開發人員可以複製構建,而Hudson可以自動從SVN中抓取並運行Ant文件來構建/測試/部署項目
  • 而且該項目具有本地庫,如果這有所作爲(我已經編寫了一個Ant任務,可以下載並解壓縮正確的庫文件取決於OS)

我已經有我的一些源文件和Ant文件的項目,但我一直有麻煩與Eclipse有組織地整合它,所以我真的很喜歡從新的Eclipse項目開始,正確設置它,然後以最符合Eclipse的方式將我的Ant文件和我的源文件逐個複製到項目中。

我會繼續玩弄一切,試圖讓它按照我喜歡的方式工作。但是,如果你有這方面的經驗,或許在你的工作場所,請儘可能多地提供信息。

我的主要目標是學習一次,並在未來的項目中使用它。目前,我正在開發一個由JOGL applet前端(使用JNLP文件)和無人蔘與的服務器應用程序組成的客戶端 - 服務器應用程序。到目前爲止,我一直都是這麼做的:在Eclipse中編寫和構建,將applet jar拖放到我的FTP客戶端,SSH服務器jar並手動重啓,所有這些都沒有測試過程。我希望到最後,構建過程將如下所示:在本地機器上測試本地庫的副本;將代碼更改提交給SVN; Hudson svn update s,使用Ant構建文件編譯並運行所有JUnit測試;如果所有測試都通過,則繼續將服務器jar複製到我的專用服務器並重新啓動正在運行的服務器實例,然後將客戶端jar複製到我的web服務器。

+0

相似但不完全重複:http://stackoverflow.com/questions/161222/how-do-i-use-continuous-integration -with-an-eclipse-project – Ricket 2010-01-15 00:26:52

回答

2

當我開始一個新項目,我一般採取以下步驟:

  1. 在Eclipse中創建一個新的Java項目中使用Java項目嚮導,選擇保持在不同的目錄中源和類文件(」 src'和'class')
  2. 在Eclipse中使用所需的包結構設置項目
  3. 爲項目創建一個新的存儲庫(或存儲庫中的文件夾),使用普通的/ trunk// branches /標籤/設置
  4. 使用您的SVN客戶端,導入公司Eclipse爲項目創建的項目文件夾的目錄(在'src'和'class'目錄所在的級別)到存儲庫的主幹中
  5. 確認一切都在Subversion中(正確地檢查中繼到新的位置)
  6. 使用Eclipse,刪除項目(和磁盤上的文件)
  7. 創建使用嚮導中的「從SVN結帳項目的一個新的項目,使用資料庫
  8. 創建Ant腳本的樹幹,確保項目正確構建,並將Ant腳本添加到存儲庫中

現在,從哈德森:

  1. 創建一個新的工作與Subversion的URL設置爲倉庫
  2. 根添加將使用Ant構建集(我一直安裝我自己的版本螞蟻和確保它的正確配置爲有這樣的工作),並調用Ant腳本,你
  3. 使用「現在構建」以查看是否作業將建立正確

您可以從螞蟻在調用JUnit測試構建腳本(首先使用javac任務編譯它們,然後使用它們運行它們e junit任務)。如果您要求,Hudson會跟蹤測試結果。

您可以使用shell腳本構建步驟將服務器jar複製到需要的位置,然後重新啓動服務器實例。像Mnementh說,這聽起來像你已經得到了本機庫排序...

1

如果你沒有綁定到使用ant,並準備使用Maven,那麼它只是設置Maven的Eclipse plugin,它爲你生成Eclipse項目。

哈德森已經知道如何構建Maven項目,所以這是照顧。

只要你可以把你的項目拉到eclipse中,那麼它將能夠運行單元測試,哈德森也可以使用前面提到的maven支持來運行單元測試。

如果你使用Maven,那麼你會希望遵循它的如何創建項目的指導原則,here是一個很好的起點。

希望這會有所幫助。

+0

對不起,我絕對不想使用Maven。我已經給了它一個很好的嘗試,而且在我看來,它非常複雜並且不夠靈活。然後,在閱讀各種博客文章等時,我發現許多其他人都有相同的觀點。我在Ant項目中稍微模仿了Maven的文件夾結構,但我不想與Maven做任何事情。希望這個答案可以幫助其他對Maven感興趣的人! – Ricket 2010-01-15 02:32:22

+1

你模仿maven並設法做所有maven與ant/anttasks做的事情。 我用maven和mojos來完成所有這些要求。在我看來,你的maven開局不好,現在唯一能讓你完成這些需求的東西就是對maven的感覺...... – YuppieNetworking 2010-01-19 10:50:23

1

在我們公司,我們實際上使用Eclipse,Java,Ant,SVN,Junit和Hudson。除了本地庫以外,這些都是你提到的。如果你說你的ant-buildscript已經與本地庫一起工作,那麼問題似乎也解決了。要將它很好地集成到eclipse中,你可以通過兩種方式來完成它:從Eclipse中使用Ant(有缺點),或者開發人員必須正確地爲他的機器安裝本地庫,以便Eclipse可以在沒有問題的情況下進行編譯並持續集成將由Ant下載。

相關問題