2014-07-23 277 views
6

我正在創建一個新的java web項目。這個Web應用程序將有許多模塊,例如核心/公用程序,業務服務,存儲庫,安全性,集成,LDAP,用戶管理....我想知道是否應該將每個模塊分隔到每個Maven項目(jar文件)或創建項目其中包括所有模塊的所有java包到單個maven項目中。單模塊與多模塊maven項目

Structure of Multi modules maven project 

    mycompany-core 
    mycompany-repository 
    mycompany-api 
    mycompany-usermanagement 
    mycompany-business 
    mycompany-web 

Structure of Single module project: 

    mycompany-web 
     |___ src 
      |____ main 
        |____ java 
          |____ com.mycompany.core 
          |____ com.mycompany.repository 
          |____ com.mycompany.business 
          |____ com.mycompany.controller 

什麼時候應該應用多模塊或單模塊項目?請給我一些建議。

回答

5

我在Maven工作過的所有產品都是多模塊的。這是因爲他們往往很大。但是,當我創建自己的寵物項目時,它們通常是單模組件。

通常,隨着產品的增長,他們需要被組織成多個模塊。一些項目從一個單一的模塊開始,隨着它們的增長而分裂。另一些由具有更多經驗的開發人員創建的,已經分開了,因爲開發人員已經知道代碼將如何增長以及如何組織。

具體來說,從您的列表中選擇「core/commons,business service,repository,security,integration,ldap,user management」,我會將「commons」分成它自己的模塊,因爲它聞起來可以重複使用其他的項目。其他部分都可以放入一個模塊,但我需要更多的瞭解該項目。

+0

是的,其他模塊將取決於核心/公共模塊。感謝您的回答 :) – Barcelona

1

這取決於您的要求。如果您想使用.sh.bat運行此應用程序,則應該有單個目標(與其他庫單個目標爲jar)。

如果您的項目構建爲0​​,最好將您的構建作爲多模塊構建。