project object model
本质是一个xml文件,一般pom文件的放在项目或者模块的根目录下.
如C:\Users\admin\.gradle\caches\modules-2\files-2.1\com.android.tools\annotations\26.5.0\90b509d5cd072bddf5158a4afd419784f9367afe\annotations-26.5.0.pom
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.android.tools</groupId>
<artifactId>annotations</artifactId>
<version>26.5.0</version>
<name>Android Tools Annotations library</name>
<description>annotations used throughout the Android tools libraries.</description>
<url>https://developer.android.com/studio</url>
<inceptionYear>2007</inceptionYear>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<name>The Android Open Source Project</name>
</developer>
</developers>
<scm>
<connection>git://android.googlesource.com/platform/tools/base.git</connection>
<url>https://android.googlesource.com/platform/tools/base</url>
</scm>
</project>
project是pom文件的根元素,project下有modelVersion、groupId、artifactId、version、packaging等重要的元素。其中,groupId、artifactId、version三个元素用来定义一个项目的坐标,也就是说,一个maven仓库中,完全相同的一组groupId、artifactId、version,只能有一个项目。
project:整个pom配置文件的根元素,所有的配置都是写在project元素里面的;
modelVersion:指定了当前POM模型的版本,对于Maven2及Maven 3来说,它只能是4.0.0;
groupId:这是项目组的标识。它在一个组织或者项目中通常是唯一的。
artifactId:这是项目的标识,通常是工程的名称。它在一个项目组(group)下是唯一的。
version:这是项目的版本号,用来区分同一个artifact的不同版本。
packaging:这是项目产生的构件类型,即项目通过maven打包的输出文件的后缀名,包括jar、war、ear、pom等。