POM是maven工程的基本工作单元,是一个xml 文件,包含了项目的基本信息,由于描述项目如何构建,声明项目依赖等
当执行任务或项目时,maven会在当前目录中查找pom,读取pom文件,获取所需的配置信息,然后执行目标。
pom中可以指定以下配置:
项目依赖、插件、执行目标、项目构建profile、项目版本、项目开发者列表、相关邮件列表信息
pom文件中的一些元素:
<!--模型版本-->
<modelVersion>4.0.0</modelVersion>
<!--公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如com.companyname.project-group,maven会将该项目打成的jar包放本地路径:/com/companyname/project-group-->
<groupId>com.companyname.project-group</groupId>
<!--项目的唯一的ID,一个groupId下面可能有多个项目,就是靠artifactId来区分的-->
<artifactId>project</artifactId>
<!--版本号-->
<version>1.0</version>
POM文件,配置哪种环境下项目构建被激活:
<!--在列的项目构建profile,如果被激活,会修改构建处理-->
<profiles>
<!--根据环境参数或命令行参数激活某个构建处理-->
<profile>
<!--构建配置的唯一标识符。即用于命令行激活,也用于在继承时合并具有相同标识符的profile-->
<id>dev</id>
<!--自动触发profile的条件逻辑。Action是profile的开启钥匙。profile的力量来自于它,它能够在某些特定的环境中自动使用某些特定的值;
这些环境通过activation元素指定。activation元素并不是激活profile的唯一方式-->
<activation>
<!--profile默认是否激活的标志-->
<activeByDefault>true</activeByDefault>
<activation>
</profile>
</profiles>
例如:
<profiles>
<profile>
<id>dev</id>
<profiles>
<env>dev<env>
</profiles>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<profiles>
<env>test<env>
</profiles>
</profile>
<profile>
<id>pro</id>
<profiles>
<env>pro<env>
</profiles>
</profile>
</profiles>
这样的话默认运行的环境为开发环境dev下的环境