pom配置文件重要标签探究
2023-12-14 23:47:01
dependencies标签
<dependencies>
标签用于指定项目的依赖项列表。这些依赖项可以是应用程序代码所需的库,也可以是Spring Boot和其他第三方库。<dependencies>
标签内的依赖仅适用于当前模块<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.5.4</version> </dependency> <dependency> <groupId>com.example</groupId> <artifactId>my-library</artifactId> <version>1.0.0</version> </dependency> </dependencies>
<groupId>
依赖项所属的组织或公司<artifactId>
依赖项的名称<version>
依赖项的版本号
dependencyManagement标签
<dependencyManagement>
标签用于集中管理项目的依赖项版本**。在这个标签内的有依赖项及其版本,但不会实际将它们添加到项目的依赖项列表中**。- **
<dependencyManagement>
标签中的依赖项版本会被子模块继承并应用于项目的依赖项解析。确保在整个项目中使用相同的依赖项版本。**<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.5.4</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
两者辨析
<dependencies> | <dependencyManagement> | |
---|---|---|
定义位置 | 在每个模块的 pom.xml 文件中 | 在父模块的 pom.xml 文件中 |
功能 | 指定项目的依赖项列表,并添加到依赖项解析中 | 集中管理项目的依赖项版本,不直接添加到依赖项解析中 |
作用范围 | 仅适用于当前模块 | 可以被子模块继承,确保整个项目使用相同的依赖项版本 |
版本号 | 可以在每个依赖项中指定版本号 | 通常使用一个引用(如 Spring Boot 官方引用)来指定所有依赖项的版本号 |
导入方式 | 直接将依赖项添加到项目的依赖项解析中 | 使用 <scope> 为 import 的依赖项实现版本继承 |
优点 | 灵活,可以在每个模块中定制依赖项版本 | 统一管理依赖项版本,确保一致性 |
缺点 | 需要在每个模块中重复指定依赖项版本 | 无法针对不同的子模块使用不同的依赖项版本 |
-
<dependencies>
标签用于在每个模块的pom.xml
文件中指定依赖项列表,并直接添加到依赖项解析中。它提供了灵活性,可以在每个模块中定制依赖项版本。但需要在每个模块中重复指定依赖项版本。 -
<dependencyManagement>
标签用于集中管理项目的依赖项版本,在父模块的pom.xml
文件中定义。它可以被子模块继承,确保整个项目使用相同的依赖项版本。通常使用一个引用(如Spring Boot官方引用)来指定所有依赖项的版本号,并通过<scope>
为import
的依赖项实现版本继承。
repositories标签
<repositories>
标签是用于配置项目的特殊仓库(repository)信息+指定获取项目的依赖项的地址。仓库是存储和提供依赖项的地方,例如 Maven Central Repository、JCenter等。<repositories>
标签中,列出项目所需的所有仓库,并指定URL和其他相关信息。当构建项目时,构建工具(例如Maven)会根据配置的仓库信息从相应的仓库中下载所需的依赖项。
<repositories>
<repository>
<id>central</id>
<name>Maven Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
<repository>
<id>jcenter</id>
<name>JCenter</name>
<url>https://jcenter.bintray.com</url>
</repository>
</repositories>
- 每个仓库由以下元素组成:
<id>
: 仓库唯一标识符(必须),用于在配置文件中引用该仓库。<name>
: 仓库名称(非必须),用于提供对仓库的描述。<url>
: 仓库URL(必须),指定从仓库获取依赖项的位置。
properties标签
<properties>
标签用于定义项目属性,这些属性可以在项目的 POM 文件中被引用。这种机制允许在 POM 文件中定义一些值,在整个 POM 文件中以及子模块的 POM 文件中重复使用这些值。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>11</java.version>
<spring.version>5.3.9</spring.version>
</properties>
- 这些属性可以在 POM 文件中的任何地方被引用,如在
<dependencies>
标签中使用${java.version}
来指定依赖项的版本号。
使用 <properties>
标签的优点:
- 重用性:可以在项目中的多个地方引用同一个属性,避免在多个地方重复定义相同的值。
- 易维护性:当需要修改某个值时,只需要在
<properties>
标签中修改一次即可,而不需要在整个 POM 文件中查找并多次修改。
- 使用
<properties>
标签,更加灵活地管理项目的属性值,避免重复定义,并简化对全局属性的维护。
文章来源:https://blog.csdn.net/yang2330648064/article/details/135005244
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!