1.POM 文件结构
在创建一个 Maven 项目时,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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.company.project</groupId>
<artifactId>my-project</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-project</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
让我们逐一介绍这个文件中的每个部分:
modelVersion
这个元素指定了 POM 文件所使用的模型版本,目前使用的是 4.0.0。
groupId
这个元素指定了项目的组织 ID,通常是公司名称或组织名称。
artifactId
这个元素指定了项目的唯一标识符,通常是项目名称。
version
这个元素指定了项目的版本号,格式为 MAJOR.MINOR.PATCH。
dependencies
这个元素包含了该项目所依赖的其他库或框架。每个依赖都必须包含 groupId、artifactId 和 version 等元素。
build
这个元素包含了构建和打包项目时所需要的配置信息。其中,plugins 元素用于指定需要使用的插件。
2、如何添加依赖关系?
在 Maven 中,我们可以通过在 POM 文件中添加 dependencies 元素来定义项目的依赖关系。
要在 Maven 项目中添加依赖,我们需要做以下几个步骤:
- 找到需要添加的依赖的坐标信息,包括 groupId、artifactId 和 version 等。
- 在 POM 文件的 dependencies 元素中添加一个 dependency 元素,并填写坐标信息。
- 在命令行中运行 mvn install 命令,让 Maven 下载并安装依赖。
例如,如果我们想要在项目中添加 Spring Core 库作为依赖,我们可以在 POM 文件中添加以下内容:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.3.0</version>
</dependency>
</dependencies>
这个例子中,我们添加了 Spring Core 和 Spring Web 两个库作为项目的依赖关系。
3、依赖范围
在 Maven 中,每个依赖都有一个默认的范围,即 compile。这意味着该依赖将被编译到项目中,并在运行时可用。除此之外,还有以下几种范围:
- provided:表示该依赖只在编译和测试时需要,但在运行时不需要。例如,Servlet API 就是一个 provided 类型的依赖。
- runtime:表示该依赖在运行时需要,但在编译时不需要。例如,MySQL 驱动就是一个 runtime 类型的依赖。
- test:表示该依赖只在测试时需要,而在编译和运行时都不需要。例如,JUnit 就是一个 test 类型的依赖。
- system:表示该依赖类似于 provided 范围,但需要指定本地文件路径。这种依赖通常不推荐使用。
要指定依赖的范围,我们可以在 dependency 元素中添加 scope 元素。例如,如果我们想要将 junit 库作为测试依赖,可以添加以下内容:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.2</version>
</dependency>
标签:依赖,元素,Maven,POM,添加,junit
From: https://www.cnblogs.com/yunlong-study/p/18258582