关于 Java 中 maven 多模块项目的疑问
1 、maven 多模块项目为什么有人按服务分 又有人按代码层分? 哪一种是最佳实践
按服务分:
- xxx-user
- xxx-order
- xxx-search
按层分:
- xxx-web
- xxx-service
- xxx-dao
2 、假如按第一种服务分,如 github 上高达 46.4k star 的商城项目 https://github.com/macrozheng/mall
子模块被打包后、不同 jar 包中 中大量重复的 jar 包被引入( spring 的 jar 和 子模块的 jar 如 common ) 这样打出的包最后不是很大?这难道合理吗? 难道不是一个 jar 被多个项目引用吗?

3 、按层分多模块的意义到底在哪?网上找了很多好处说 感觉没有说服力。
4 、父项目把所有子项目都需的依赖放到dependencyManagement里合适吗?