【发布时间】:2014-03-25 17:44:05
【问题描述】:
我有两个关于maven项目结构的问题:
1) 我正在创建一个 maven 多模块项目,想知道是否可以将模块的所有常见依赖项放在父 pom 中?这是正确的做法吗?
2) 如果我正在创建一个包含所有 web.xml 和 JSP 文件的 maven webapp 项目,那么 Web 控制器、侦听器和模型对象应该驻留在哪里?在单独的 maven jar 项目中还是在同一个 webapp 项目中?
【问题讨论】:
我有两个关于maven项目结构的问题:
1) 我正在创建一个 maven 多模块项目,想知道是否可以将模块的所有常见依赖项放在父 pom 中?这是正确的做法吗?
2) 如果我正在创建一个包含所有 web.xml 和 JSP 文件的 maven webapp 项目,那么 Web 控制器、侦听器和模型对象应该驻留在哪里?在单独的 maven jar 项目中还是在同一个 webapp 项目中?
【问题讨论】:
1) 阅读dependencyManagement 和dependencies 之间的区别。将所有常见的依赖项放在父 POM 中会起作用,但是当您添加新模块时,它可能会导致虚假的依赖项。
推荐dependencyManagement。您可以在一个中心位置指定所有版本和排除项,然后为每个模块的每个依赖项指定 groupId 和 artifactId 就足够了。
2) 与 Web 层直接相关的 Java 源代码通常放在 war 模块中(除非您想将它们重用于不同的项目,否则最好将它们分解到单独的 jar 中)。
【讨论】: