组织工程
通常采用多模块(module)组织工程。
模块划分原则:
示例:
<modules>
<module>xxx-protocol</module>
<module>xxx-web</module>
<module>xxx-config</module>
</modules>
1. xxx-protocol 是按功能独立正交性划分 module
2. xxx-web 按部署划分 module,部署为一个 web 应用
3. xxx-config 抽出共享的第三方 module,多个模块需要共享配置
依赖管理
通常统一在父项目中定义所有依赖及其版本。
示例:
<properties>
<project.encoding>utf-8</project.encoding>
<v.plugin.assembly>2.3</v.plugin.assembly>
<v.plugin.compiler>2.5.1</v.plugin.compiler>
<v.plugin.resources>2.6</v.plugin.resources>
<v.plugin.release>2.4</v.plugin.release>
<v.jdk>1.6</v.jdk>
<v.junit>4.8.2</v.junit>
<v.spring>3.1.2.RELEASE</v.spring>
</properties>
如上,统一定义整个项目依赖的 jdk、三方库、 maven 自身依赖插件的版本。
如下,统一在父 pom 中配置所有的依赖库和版本
父 pom
<dependencyManagement>
<dependencies>