最近重新读了一下《Maven实战》,记录一下一直被我忽略的聚合
和继承
的关系。
聚合
首先,一个模块有一个pom(Project object Model)文件。当一个项目比较大的时候,按一定规则划分成不同的模块是一个比较好的方式。这时候管理一个项目,如果每个模块座位一个项目,那么打包编译的时候需要到每一个模块下去执行mvn命令,太麻烦了。于是,有个继承模块。
继承模块是一个空模块,只有pom文件,没有src、resource之类的目录结构。在pom文件中,用<modules>
和<module>
标签指定要管理的子模块。另外,<packaging>
标签必须指定为pom。
- e.g:123456<packaging>pom</packaging><modules><module>account-model</module><module>account-service</module><module>account-task</module></modules>
以上情况适用于聚合模块处于目录顶层,子模块是聚合模块的子目录的情况。如果子模块和聚合模块是平行的目录关系,那么应该根据实际路径来写。