Maven父pom项目,将pom公共部分提取出来汇总在父pom中,降低各项目编写pom的复杂度。
- 指定各插件(plugin)的版本,基本参数(如编码)
- 指定常用依赖的具体版本,希望通过父pom能控制所有二方和三方包的依赖,降低项目pom依赖冲突的可能性。如果需要,项目可以自己特殊指定。
- 指定私有Maven仓库的地址。
- 各项目在pom.xml中增加以下内容:
<project ...>
...
<!-- 指定父pom信息 -->
<parent>
<groupId>info.soft</groupId>
<artifactId>public-parent</artifactId>
<version>1.0.0</version>
</parent>
...
<!-- 指定私有Maven仓库地址,以便下载父pom -->
<repositories>
<repository>
<id>public</id>
<name>Nexus Release Repository</name>
<url>http://ip/nexus/content/groups/public</url>
</repository>
</repositories>
...
</project>
- 如果pom中依赖或者插件的版本处提示“Overriding managed ...”,说明父pom中已经指定,此处不需要再指定。如果有特殊需要可以覆盖。
- 注意:Solr4.8版本需要使用1.0.0版本,Solr5.1.0需要使用2.0.2版本。
注意:父pom中依赖的版本或者插件的版本,可能会在不通知的情况下变更。项目需要自己进行回归测试。