pom.xml
pom(project Object Model)项目对象模型,是maven工程的基本工作单元。
描述项目相关的基本信息,构建方式, 申明依赖等等。
可指定如下信息:
项目依赖
插件
执行目标
项目构建 profile
项目版本
项目开发者列表
相关邮件列表信息
pom文件的基本构成都需要project标签包在最外围,以及groupId, version, artifactId。
例如:
<project xmlns = "http://maven.apache.org/POM/4.0.0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/projectgroup -->
<groupId>com.companyname.projectgroup</groupId>
<!-- 项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的 -->
<artifactId>projectA</artifactId>
<!-- 版本号 -->
<version>1.0</version>
</project>
project: maven工程的根标签
modelVersion: 模型版本 需要指定为4.0.0
groupId: 当前项目工程的唯一标识
artifactId: 一个group也就是组织或者公司下的会有多个产品或者模块,这个用来标明是哪一个,也就是产品名的区分
version: 版本号,在artifact中区分不同的版本
通过groupId以及artifactId,以及版本号version可以确定在仓库中的确定唯一的产品jar包,自己命名时同样可以如此定位。
Maven 构建生命周期
组成以及前后顺序如下:
validate:验证 ------验证项目是否正确且所有必须信息是可用的
compile:编译 ------源代码编译在此阶段完成
Test:测试 ------运行测试
package:打包 ------创建JAR/WAR包如在 pom.xml 中定义提及的包
verify:检查 ------对集成测试的结果进行检查,以保证质量达标
install:安装 ------安装打包的项目到本地仓库,以供其他项目使用
deploy:部署 ------拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程
插件
Maven的生命周期中每一个阶段都通过插件来实现, 是一个依赖插件的框架