1.Maven简介
Maven 是一个软件工程的项目管理工具,基于工程对象模型(POM), 主要功能是构建项目、管理项目。
Maven 的核心是约定大于配置,初衷是帮助程序开发者在最短时间内完成项目开发过程中的每个过程,目标是更简单,更统一,更快速。
2.POM 模型
POM(项目对象模型)是 Maven 最基本也是非常重要的一个概念。通常情况下,我们可以看到 POM 的表现形式是 pom.xml,在这个 XML 文件中定义着关于我们工程的方方面面,当我们想要通过 Maven 命令来进行操作的时候,例如:编译,打包等等,Maven 都会从 pom.xml 文件中读取工程相关的信息。
下图是一个pom.xml文件示例:

从头开始看:groupId,artifactId,packaging,version 几个元素是 Maven 的坐标,用来唯一标识一个项目,其中:
groupId:groupId 为我们所属组织的逆向域名,这里的组织可以是公司,团体,小组等等。例如Apache 基金会的项目都以 org.apache 作为 groupId;
artifactId:该组织下,项目的唯一标识;
packaging:项目类型,描述的是项目在打包之后的输出结果,常见的 jar 类型的输出结果是一个jar 包,war 类型则输入 war 包,一般 Web 项目的打包方式为 war。
version:项目的版本号,用来标记本项目的某一特定版本。SNAPSHOT 用来标记项目过程中的快照版本,该版本类型表明本项目不是稳定版本,常见的还有 RELEASE,表示该版本为本项目的稳定版本。
接下来是 name,url 这两个元素则是用来描述信息,给人更好的可读性。
最后是 dependencies,用于标识一个项目的所有依赖情况。
3. Maven依赖
依赖即为本项目对其他项目的引用,这里的其他项目可以是外部项目,也可以是内部项目。我们在开发项目的过程中,将其他项目作为依赖引用进来,最终在打包的过程中,依赖会和我们开发的项目打包到一起来运行。
3.1 依赖的范围
Maven 在编译和运行以及执行测试用例的时候,分别会使用不同的 classpath。而 Maven 的依赖范围则是用来控制依赖与不同 classpath 关系的。
Maven 的依赖范围分为以下几种:
compile: 编译依赖范围。Maven 默认的依赖范围,该范围的依赖对编译,运行,测试等的classpath 都有效。
test: 测试依赖范围。该依赖范围只对测试 clas

本文详细介绍了Maven项目管理工具,包括POM模型、依赖管理、仓库使用及版本控制。重点讲解了Maven依赖的范围、传递性依赖、最短路径原则,以及最佳实践如排除依赖和依赖归类。此外,还阐述了Maven仓库的分类和依赖解析顺序,以及Maven版本号的管理规则和意义。
最低0.47元/天 解锁文章

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



