我正在创建一个新的 java web 项目。这个web应用程序会有很多模块,比如core/commons,业务服务,repository,security,integration,ldap,user management,.... 不知道是应该把每个模块分离到每个maven项目(jar文件)还是创建项目将所有模块的所有 java 包包含到单个 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
我们什么时候应该应用多模块或单模块项目>请给我一些建议。
请您参考如下方法:
我在 Maven 中开发的所有产品都是多模块的。这是因为它们往往很大。但是,当我创建自己的宠物项目时,它们通常是单模块的。
通常,随着产品的增长,它们需要被组织成多模块。一些项目从一个单独的模块开始,随着它们的增长而被拆分。其他的,由更有经验的开发人员创建,已经被划分,因为开发人员已经知道代码将如何增长以及需要如何组织。
具体来说,从您的列表中,“核心/公共(public)、业务服务、存储库、安全性、集成、ldap、用户管理”,我会将“公共(public)”分离到它自己的模块中,因为它闻起来像是可以在其他项目中重用。其他部分都可以放入一个模块中,但我需要对该项目有更多的了解。