maven项目的pom文件中各标签理解
POM是项目对象模型(Project Object Model)的简称。
pom.xml主要描述了项目的maven坐标,该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。是项目级别的配置文件。
链接: 原文链接.
声明规范
<?xml version="1.0" encoding="UTF-8"?>
<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">
<!-- pom版本标签;必须标签,表示是一个固定的版本,指定了当前pom的版本 -->
<modelVersion>4.0.0</modelVersion>
groupId
<!-- 公司或者组织的唯一标志,并且配置时生成的路径也是由此生成, 如org.sang,maven会将该项目打成的jar包放本地路径:/org/sang -->
<groupId>org.sang</groupId>
artifactId
<!-- 本项目唯一的id,一个groupId下面可以有很多个项目,就是靠artifactId来区分的 -->
<artifactId>blogserver</artifactId>
version
<!-- 本项目目前所处的版本号 -->
<version>0.0.1-SNAPSHOT</version>
name
<!-- 项目的名称,maven生成文档与展示的时候用 -->
<name>blogserver</name>
description
<!-- 本项目的详细描述 -->
<description>Vue博客服务端</description>
parent
<!--父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的对应值即为项目的默认值。坐标包括groupID,artifactID和version等。-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<!--父项目的pom.xml文件的相对路径。相对路径允许你选择一个不同的路径。默认值是../pom.xml。Maven首先在构建当前项目的地方寻找父项目的pom,其次在文件系统的这个位置(relativePath位置),然后在本地仓库,最后在远程仓库寻找父项目的pom。-->
<relativePath/> <!-- lookup parent from repository -->
</parent>
properties
<!-- 为pom定义一些常量,在pom中的其它地方可以直接引用 -->
<properties>
<!-- 项目编码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- java版本 -->
<java.version>1.8</java.version>
</properties>
dependencies
<!--本项目的所有依赖关系 -->
<dependencies>
<!-- 每个dependency都对应这一个jar包 -->
<dependency>
<!--依赖的坐标-->
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.29</version>
</dependency>
</dependencies>
build
<!-- 构建配置 -->
<build>
<!--这个元素描述了项目相关的所有资源路径列表,例如和项目相关的属性文件,这些资源被包含在最终的打包文件里。-->
<resources>
<!--这个元素描述了项目相关的资源路径-->
<resource>
<!--描述存放资源的目录,该路径相对POM路径 -->
<directory>src/main/java</directory>
<!--包含的模式列表 -->
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<!--使用的插件列表 -->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>