首先我们需要考虑的是为什么要有maven多模块呢?
maven项目为什么要构建多个模块而不是一个项目里创建多个包?今天遇到一个maven多模块项目,感觉很奇怪,为什么要创建多个模块呢?问了一些朋友说更具有层次,那在一个项目中创建不同的包不是也很有层次吗,为什么不是创建多个包呢?创建多个模块的意义在哪里?
假如一个项目中有user和role两大业务,而每个业务有分别都controller,dao,service包下有各自的类
这么看起来好像没什么问题。
如果随着业务越来越多,又增加了财务,审批,订阅,任务等业务的话。那么代码会分成庞大。不容易找到那几个类直接有直接关联。
早期团队三四个开发一个项目还好,后来走了一部分人,来了几个新手,新手的话,对代码逻辑不是特别清楚,所以要一一细看代码,简直可怕。
真实开发场景中,一个项目一共三四十个包,假设三四十个包全部混合在一个项目下,每个包下至少三十个java类,对于新手而言熟悉代码需要比较长的时间,这就增加了一定的成本。
那么如果我们把一个项目拆成2个小项目不是就解决这个问题了吗
mavenproject是父项目,而roleproject和userproject是子项目。那么让业务更加清晰,更加规范,非常有利于项目开发效率。
maven多模块项目示例:
1.创建一个maven父项目a
生成父工程,pom.xml如下
删除工程中的src 目录
2.创建子模块b的maven项目
右击父工程名a---》New---》Other ---》Maven Module
设置子工程名以及父工程