我正在編寫客戶端和服務器應用程序。現在我只是自己開發它,所以我將它編寫成一個Eclipse項目,並將其組織成Java包(org.myorg.server,org.myorg.client,org.myorg.networksystem等)。該項目部署到一個單獨的jar文件。然後,客戶端是一個小程序,所以我只需在jar文件內的org.myorg.client.ClientApplet中指向小程序代碼參數,而當我運行服務器時,它是一個命令行應用程序,我只是運行:客戶端/服務器項目結構,文件夾結構,構建文件等
Java的罐子MyJar.jar org.myorg.server.ServerApplication
好了,我要清理它的結構,提高了構建過程。我也想分開這些jar文件,這樣用戶就無法像現在一樣訪問內置在jar文件中的服務器副本。
我想使用持續集成服務器,如CruiseControl。如果我只需要將我的代碼檢入SVN存儲庫,那將非常酷;那麼CruiseControl服務器將獲取代碼,編譯它並將其打包到單獨的jar中,然後將服務器jar部署到我的專用服務器上並運行它,並將客戶端jar部署到我的web服務器上,以便更新applet。
我可以找出CruiseControl。我目前的問題是如何分離代碼。它很好地分離成客戶端和服務器軟件包,但是有一些共享軟件包,比如網絡協議。我應該將我的項目分成3個客戶端,服務器和通用項目嗎?我應該做點別的嗎?我正在考慮手動編寫Ant構建文件,但我真的很想留在Eclipse中。
如何最好地組織我的代碼以實現這些目標?
(順便說一句,對不起,如果這個問題是混亂的,我想我有一個很難用語言都圍繞我的頭紛飛的不同的問題)
我已經看到了Maven,決定它不適合我,現在我開心地使用Ant。我決定共享代碼很少,我只需要手工複製它們之間的項目,所以我有兩個獨立的項目。我在學校和學習Ant之間一直如此肆意,以至於我還沒有把它們加載到Eclipse中,但我沒有預見到任何困難。 – Ricket 2010-01-13 15:32:20