POM.xml
在POM中,groupId,artifactId,packaging,version叫做maven坐标,它能唯一的确定一个项目。有了maven坐标,我们就可以用它来指定我们的项目所依赖的其他项目,插件,或者父项目。
参数 | 说明 |
---|---|
groupId | 代表组织和整个项目的唯一标志。比如说所有的Maven组件的groupId都是org.apache.maven |
artifactId | 具体的项目名称,它于groupId共同确定一个项目在maven repo中的位置,例如,groupId=org.codehaus.mojo,artifactId=my-project的项目,在maven repo中的位置为:$M2_REPO/org/codehaus/mojo/my-project |
version | 用于说明目前项目的版本,在引用依赖的时候确定具体依赖的版本号 |
package | 规定项目的输出格式,包括jar、war、pom、apk等,根据实际需要确定。例如,开发一般的java库,可以使用jar packaging;开发android则是apk packaging。 |
一般的maven坐标写成如下的格式:
group:artifactId:packaging:version
pom.xml 文件说明
<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>
<groupId>io.ken.helloworld</groupId>
<artifactId>helloworld</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>helloworld</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.version>3.8.1</junit.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
参数 | 说明 |
---|---|
modelVersion | Maven配置版本 |
groupId | 代表组织和整个项目的唯一标志。比如说所有的Maven组件的groupId都是org.apache.maven。 |
artifactId | 具体项目的名称,它于groupId共同确定一个项目在maven repo中的位置,例如,groupId=org.codehaus.mojo, artifactId=my-project的项目,在maven repo中的位置为:$M2_REPO/org/codehaus/mojo/my-project |
version | 用于说明目前项目的版本,在引用依赖的时候确定具体依赖的版本号。 |
packaging | 规定项目的输出格式,包括jar、war、pom、apk等,根据实际需要确定。例如,开发一般的java库,可以使用jar packaging;开发android则是apk packaging。 |
name | 项目显示名称 |
url | 项目地址 |
properties | 用于定义变量,可以在当前配置文件pom.xml,以及子Module的pom.xml中引用,引用方式: p r o p e r t y n a m e , 例 如 : {propertyname},例如: propertyname,例如:{junit.version} |
dependencies | 用户配置Module的依赖 |