<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/maven-v4_0_0.xsd">
指定了pom.xml文件使用的XML schema版本,目前,其最新的版本是4.0.0
<modelVersion>4.0.0modelVersion>
项目的组名,通常是反转的域名,比如com.example。
<groupId>com.examplegroupId>
项目的唯一标识符,通常是项目的名称。
<artifactId>example-projartifactId>
项目的版本号。
<version>1.0.0version>
项目名,可选项,提供项目的简短名称
<name>Example Projectname>
项目描述,可选项,提供项目的详细描述。
<description>This is an example Maven project.description>
<dependencies>
<dependency>
<groupId>junitgroupId>
<artifactId>junitartifactId>
<version>4.12version>
<scope>testscope>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-coreartifactId>
<version>5.2.1.RELEASEversion>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-pluginartifactId>
<version>3.8.1version>
<configuration>
<source>1.8source>
<target>1.8target>
configuration>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-jar-pluginartifactId>
<version>3.2.0version>
<configuration>
<archive>
<manifest>
<addClasspath>trueaddClasspath>
<mainClass>com.example.AppmainClass>
manifest>
archive>
configuration>
plugin>
plugins>
build>
project>
modules:
modules 标签用于声明当前 Maven 项目包含的模块子项目,每个子项目都是一个独立的 Maven 项目,具有自己的 pom.xml 文件,可以进行独立构建和测试。在父项目的 pom.xml 文件中,使用 标签来列出所有子项目的名称,如下所示:
<project>
<groupId>com.example.parentgroupId>
<artifactId>parent-projectartifactId>
<version>1.0.0version>
<packaging>pompackaging>
<modules>
<module>child1module>
<module>child2module>
<module>child3module>
modules>
project>
parent:
parent 标签用于声明当前 Maven 项目的父项目,它可以将若干个 Maven 项目组织成一个整体,指定版本号,插件版本号等,便于管理和维护,在一个 Maven 项目中,使用标签来引用父项目,如下所示:
<project>
<groupId>com.example.childgroupId>
<artifactId>child-projectartifactId>
<version>1.0.0version>
<packaging>jarpackaging>
<parent>
<groupId>com.example.parentgroupId>
<artifactId>parent-projectartifactId>
<version>1.0.0version>
parent>
project>
properties:
<properties>
<project.name>demo-projectproject.name>
<project.version>1.0.0project.version>
<jdk.version>1.8jdk.version>
properties>
<dependency>
<groupId>com.example.demogroupId>
<artifactId>${project.name}-apiartifactId>
<version>${project.version}version>
dependency>
plugins:
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
<version>${spring-boot.version}version>
<executions>
<execution>
<goals>
<goal>repackagegoal>
goals>
execution>
executions>
plugin>
指定maven编译的jdk版本
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<configuration>
<source>8source>
<target>8target>
configuration>
plugin>
plugins>
<finalName>${project.artifactId}finalName>
build>