- maven build lifecycle
- maven POM的中文参考手册
- maven POM
- maven settings.xml
- 理解maven命令package、install、deploy的联系与区别
- Maven实战(六)--- dependencies与dependencyManagement的区别
dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)
dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的版本。
Maven的pom.xml文件结构之基本配置packaging和多模块聚合结构
Maven 3支持Maven项目的多模块(multi-modules)结构。这样的Maven项目也被称为聚合项目,通常由一个父模块和若干个子模块构成。
其中,父模块必须以pom打包类型,同时以<modules>给出所有的子模块。父模块的POM示例如下:
...
<packaging>pom</packaging>
<modules>
<module>my-frontend-project</module>
<module>my-service-project</module>
<module>my-backend-project</module>
</modules>
...
其中的每个module,都是另外一个Maven项目
BOM(Bill of Materials)是由Maven提供的功能,它通过定义一整套相互兼容的jar包版本集合,使用时只需要依赖该BOM文件,即可放心的使用需要的依赖jar包,且无需再指定版本号。BOM的维护方负责版本升级,并保证BOM中定义的jar包版本之间的兼容性.
BOM本质上是一个普通的POM文件,区别是对于使用方而言,生效的只有<dependencyManagement>
这一个部分。只需要在<dependencyManagement>
定义对外发布的客户端版本即可