Maven POM学习笔记

简介

Maven是一款流行的构建工具,Maven项目使用pom.xml文件来定义项目和构建过程中需要的依赖项等元数据。POM(Project Object Model)是Maven的核心组件之一,它定义了项目的基本信息、依赖关系以及如何构建这个项目。

POM的结构

POM是一个XML文件,其结构如下:

xmlCopy Code
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>my-project</artifactId> <version>1.0.0</version> <dependencies> <!-- 项目依赖 --> </dependencies> <build> <!-- 项目构建配置 --> </build> </project>

其中各个元素具体含义如下:

  • modelVersion:POM模型版本,在大多数情况下为4.0.0(当前最新版本)。
  • groupId:项目所属的组织或机构的唯一标识符。
  • artifactId:项目的唯一标识符。
  • version:项目的版本号。
  • dependencies:指定项目的依赖项。每个依赖项都由groupId、artifactId和version三个元素组成。
  • build:定义项目的构建过程。该元素包含了一系列子元素,如plugins(插件)、resources(资源)、testResources(测试资源)等。

POM的实例

以下是一个简单的POM实例:

xmlCopy Code
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>my-project</artifactId> <version>1.0.0</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>

该POM定义了一个名为my-project的项目,其配置包含了一个依赖项和一个构建插件。

在dependencies元素中,定义了一个依赖项,它指定了项目所需的junit库,并将其作为test依赖项引入。这意味着该依赖项仅在项目进行测试时才会被加载。

在build元素中,定义了一个插件maven-compiler-plugin,它指定了源代码和目标字节码的版本为1.8。该插件还可以配置其他属性,如输出目录、编译器插件等。