<?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/maven-v4_0_0.xsd">
指定了pom.xml文件使用的XML schema版本,目前,其最新的版本是4.0.0
<modelVersion>4.0.0</modelVersion>
项目的组名,通常是反转的域名,比如com.example。
<groupId>com.example</groupId>
项目的唯一标识符,通常是项目的名称。
<artifactId>example-proj</artifactId>
项目的版本号。
<version>1.0.0</version>
项目名,可选项,提供项目的简短名称
<name>Example Project</name>
项目描述,可选项,提供项目的详细描述。
<description>This is an example Maven project.</description>
<dependencies> <!-- 依赖项 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
</dependencies>
<build> <!-- 项目构建 -->
<plugins> <!-- 插件配置 -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.example.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
modules:
modules 标签用于声明当前 Maven 项目包含的模块子项目,每个子项目都是一个独立的 Maven 项目,具有自己的 pom.xml 文件,可以进行独立构建和测试。在父项目的 pom.xml 文件中,使用 标签来列出所有子项目的名称,如下所示:
<project>
<groupId>com.example.parent</groupId>
<artifactId>parent-project</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<modules>
<module>child1</module>
<module>child2</module>
<module>child3</module>
</modules>
</project>
parent:
parent 标签用于声明当前 Maven 项目的父项目,它可以将若干个 Maven 项目组织成一个整体,指定版本号,插件版本号等,便于管理和维护,在一个 Maven 项目中,使用标签来引用父项目,如下所示:
<project>
<groupId>com.example.child</groupId>
<artifactId>child-project</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<parent>
<groupId>com.example.parent</groupId>
<artifactId>parent-project</artifactId>
<version>1.0.0</version>
</parent>
</project>
properties:
<properties>
<project.name>demo-project</project.name>
<project.version>1.0.0</project.version>
<jdk.version>1.8</jdk.version>
</properties>
<dependency>
<groupId>com.example.demo</groupId>
<artifactId>${project.name}-api</artifactId>
<version>${project.version}</version>
</dependency>
plugins:
<build>
<plugins>
<!-- 当运行maven打包的命令,项目会被打包成一个可以直接运行的jar包 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
指定maven编译的jdk版本
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
<finalName>${project.artifactId}</finalName>
</build>