POM组成:
项目基本信息
构建环境
POM关系
构建设置
查看实际生效的pom: mvn help:effective-pom
插件与目标
调用插件目标的两种方式:
将插件目标与生命周期绑定,执行生命周期;
直接执行插件目标。
Maven常用插件
maven-archaetype-plugins 快速生成项目骨架
maven-dependency-plugin 分析项目依赖
maven-help-plugin 多个目标,帮助
maven-resources-plugin 更加清晰目录结构,资源文件过滤
maven-surefire-plugin 执行测试类
jetty-maven-plugin 内置jetty容器
maven-enforcer-plugin 创建一系列规则
maven插件列表: http://maven.apache.org/plugins/index.html
Maven功能
构建项目(Build)
依赖管理(Dependencies)
配置管理(SCMs)
发布管理(Releases)
文档编制(Documention)
报告(Reporting)
dependencies 和 dependencyManagement
dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承) dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。