本文已参与「新人创作礼」活动,一起开启掘金创作之路。
我们学习maven是必须学习它的pom文件,那么了解pom文件的常用标签就是一件非常重要的事情。
<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>com.atguigu.maven</groupId>
<artifactId>pro01-maven-java</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>pro01-maven-java</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
上面是一个简单的pom文件,它里面的标签含义如下所示:
- project:是根标签,表示对当前工程进行配置、管理
- modelVersion:从Maven 2开始固定是4.0.0。这个标签我们可以不用修改它,不用管它。代表当前pom.xml所采用的标签结构。
- groupId,artifactId和version:坐标信息。groupId指定公司或者组织开发的某个项目;artifactId指定项目下的某一个模块;version指定当前模块的版本。这三个坐标共同确定了一个项目或者jar包在maven仓库的具体位置。
- packaging:当前模块的打包方式,默认是jar,说明这是一个java工程;如果是war,说明这是一个web工程;如果是pom,说明这个工程是用来管理其他工程的工程。
- name:当前工程的名字。
- url:maven官网。
- properties:在maven中定义属性值。properties里面的标签就是属性名,标签里面的值就是属性值。属性名可以是maven提供的,也可以是我们自定义的。上面的例子中project.build.sourceEncoding是properties标签里面的属性名,UTF-8是属性值。
- project.build.sourceEncoding:在构建过程中读取源码时使用的字符集。
- dependencies:配置具体依赖信息。可以包含多个dependency。
- dependency:配置一个具体的依赖信息。里面主要是坐标信息,需要那个jar包,导入对应jar包的坐标。
- scope:配置当前依赖的范围。