9

I'm creating a new java web project. This web application will have many modules such as core/commons, business service, repository, security, integration, ldap, user management,.... I wonder if I should separate each module into each maven project (jar file) or create project that include all java packages of all modules into single one maven project.

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

When should we apply multi-modules or single-module project> Please give me some advice.

4

2 回答 2

9

我在 Maven 中开发的所有产品都是多模块的。这是因为它们往往很大。但是,当我创建自己的宠物项目时,它们通常是单模块的。

通常,随着产品的增长,它们需要被组织成多模块。一些项目从一个单独的模块开始,随着它们的增长而被拆分。其他的,由更有经验的开发人员创建的,已经被划分了,因为开发人员已经知道代码将如何增长以及需要如何组织。

具体来说,从您的列表“核心/公共资源、业务服务、存储库、安全性、集成、ldap、用户管理”中,我会将“公共资源”分离到它自己的模块中,因为它闻起来像是可以在其他项目中重用。其他部分都可以放入一个模块中,但我需要对该项目有更多的了解。

于 2014-07-23T04:06:52.040 回答
1

这取决于您的要求。如果你想运行它,.sh或者.bat你应该有一个目标(jar与其他库一起)。

如果您的项目构建为一个API,最好将您的构建作为多模块之一。

于 2014-07-23T04:07:04.307 回答