Maven 学习


Maven 学习


正文

Maven 是一个项目管理工具,可以对 Java 项目进行自动化的构建和依赖管理。

Maven 是 Java 项目构建工具,可以用于管理 Java 依赖,还可以用于编译、打包以及发布 Java 项目, 类似于 JavaScript 生态系统中的 NPM。

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven 也可被用于构建和管理各种项目, 例如 C#,Ruby,Scala 和其他语言编写的项目。

Maven 提倡使用一个共同的标准目录结构,Maven 使用约定优于配置的原则,大家尽可能的遵守这样的目录结构。

什么是项目构建?

构建是什么呢?简单地说,构建就是软件项目生产的整个过程,这个过程应该包括:

  1. 文档和代码的生成(有些项目会使用代码自动生成工具,比如数据库访问代码的逆向工程)
  2. 代码的编译、测试和打包
  3. 打包好的代码进行分发或者部署

由此可见,项目的构建可绝不仅仅是编译软件这件事情。除了写代码,在项目层面做的大部分工作,都包含在构建的过程中。

有了 Maven 这个开源利器,构建中的这些过程都能够进行良好的定义,而且 Maven 能够帮我们串起来形成一个自动构建过程, 这样比我们手动执行要高效得多。

项目依赖管理

Java 最大的一个优势就是有非常强大的生态,整个生态中有无数的框架和API供人使用。 我们在创建实际的项目过程中不可避免地需要用到这些框架和API,而它们通常都是以 Jar 包的形式提供。 相信很多人都经历过 Jar Hell 的问题吧。事实上,让一个项目所依赖的外部 Jar 包保持正确的版本和最新的状态, 是件非常苦逼的事情。我们编译项目的时候,需要在 ClassPath 上存放依赖的 Jar 包,而这些 Jar 包还会有其他依赖。 你一定经历过递归地一个个去下载所有外部依赖的痛苦过程吧,并且还要确保下载的版本都是正确的, 当项目越来越复杂的时候,这是件极其麻烦的事情。

Maven 的出现让我们获得了解脱,Maven 可以自动帮我们做依赖管理, 我们需要做的就是在 POM 文件里指定依赖 Jar 包的名称、版本号,Maven 会自动下载,并递归地去下载依赖的进一步依赖。

另外,Maven 还提供一个非常方便的功能—快照依赖。快照依赖指的是那些还在开发中的内部依赖包。 与其你经常地更新版本号来获取最新版本,不如直接依赖项目的快照版本。 快照版本的每一个 Build 版本都会被下载到本地仓库,即使该快照版本已经在本地仓库了。 使用快照依赖可以确保本地仓库中的每一个 Build 版本都是最新的,这对我们快速迭代开发是一个非常酷的特性。

Maven的组成

Maven是一个项目管理工具,它包含了:项目对象模型 (POM,Project Object Model), 项目生命周期(Project Lifecycle),依赖管理系统(Dependency Management System)和各种插件。 插件主要用来实现生命周期各个阶段(phase)的目标(goal)。Maven的组成如下所示:

Maven安装

1、 当前系统是否配置JAVA_HOME的环境变量

2、 下载maven,解压maven放在一个非中文无空格的路径下

3、 配置maven的相关环境变量

  • 在环境变量增加MAVEN_HOME,路径是 maven 解压后的根目录
  • 在环境变量里的path中增加 %MAVEN_HOME%\bin 的目录

4、 验证:mvn -v 查看maven版本

C:\Users\zhuyi>mvn -v
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: G:\WorkSoft\apache-maven-3.8.6
Java version: 18.0.1.1, vendor: Oracle Corporation, runtime: G:\WorkSoft\Java\jdk-18.0.1.1
Default locale: zh_CN, platform encoding: UTF-8
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

C:\Users\zhuyi>

Maven仓库

视频

可以看一下 https://www.bilibili.com/video/BV1E5411J7L9?p=6






参考资料

Maven 最全教程,看了必懂 https://zhuanlan.zhihu.com/p/519922379

Maven 简介 http://mvnbook.com/index.html

Maven 官网地址 https://maven.apache.org/index.html


返回