一文了解maven的pom文件标签

177 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

我们学习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文件,它里面的标签含义如下所示:

  1. project:是根标签,表示对当前工程进行配置、管理
  2. modelVersion:从Maven 2开始固定是4.0.0。这个标签我们可以不用修改它,不用管它。代表当前pom.xml所采用的标签结构。
  3. groupId,artifactId和version:坐标信息。groupId指定公司或者组织开发的某个项目;artifactId指定项目下的某一个模块;version指定当前模块的版本。这三个坐标共同确定了一个项目或者jar包在maven仓库的具体位置。
  4. packaging:当前模块的打包方式,默认是jar,说明这是一个java工程;如果是war,说明这是一个web工程;如果是pom,说明这个工程是用来管理其他工程的工程。
  5. name:当前工程的名字。
  6. url:maven官网。
  7. properties:在maven中定义属性值。properties里面的标签就是属性名,标签里面的值就是属性值。属性名可以是maven提供的,也可以是我们自定义的。上面的例子中project.build.sourceEncoding是properties标签里面的属性名,UTF-8是属性值
  8. project.build.sourceEncoding:在构建过程中读取源码时使用的字符集。
  9. dependencies:配置具体依赖信息。可以包含多个dependency。
  10. dependency:配置一个具体的依赖信息。里面主要是坐标信息,需要那个jar包,导入对应jar包的坐标。
  11. scope:配置当前依赖的范围。