POM深入与强化
一、重新认识Maven
1.Maven的完整功能
在最开始学习Maven的时候,介绍说Maven是一款构建管理和依赖管理的工具。但事实上,这只是Maven的一部分功能。Maven本身的产品定位是一款项目管理工具。
2.项目管理功能的具体体现
下面是spring-boot-starter的POM文件,可以看到,除了我们熟悉的坐标系,dependencies标签,还有description、url、organization、licenses、developers、scm、issueManagement等这些描述项目信息的标签。
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.3.6.RELEASE</version>
<name>spring-boot-starter</name>
<description>Core starter, including auto-configuration support, logging and YAML</description>
<url></url>
<organization>
<name>Pivotal Software, Inc.</name>
<url></url>
</organization>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url></url>
</license>
</licenses>
<developers>
<developer>
<name>Pivotal</name>
<email>info@pivotal.io</email>
<organization>Pivotal Software, Inc.</organization>
<organizationUrl></organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/spring-projects/spring-boot.git</connection>
<developerConnection>scm:git:ssh://git@github.com/spring-projects/spring-boot.git</developerConnection>
<url></url>
</scm>
<issueManagement>
<system>GitHub</system>
<url>******</url>

本文详细介绍了Maven的项目管理功能,揭示了Maven不仅是依赖管理工具,还提供了项目对象模型(POM)进行项目信息管理。通过分析POM的四个层次——超级POM、父POM、当前POM和有效POM,阐述了POM的继承和生效机制。同时,文章探讨了属性的声明与引用,包括如何查看属性值、访问系统属性、环境变量、project属性及settings全局配置,并讨论了属性在项目中的实用场景。
1070

被折叠的 条评论
为什么被折叠?



