Maven是什么?
为什么要有Maven?
如何搭建Maven的环境?
1.Maven简介
Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和
依赖管理.Maven 这个单词的本意是:专家、内行,读音是['meɪv(ə)n]或['mevn]。
- 说到底,Maven 就是一个自动化构建工具。构建过程一般分为:
1)构建过程
①清理:删除以前的编译结果,为重新编译做好准备。
②编译:将 Java 源程序编译为字节码文件。
③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
④报告:在每一次测试后以标准的格式记录和展示测试结果。
⑤打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包,Web
工程对应 war 包。⑥安装:在 Maven 环境下特指将打包的结果——jar 包或 war 包安装到本地仓库中。
⑦部署:将打包的结果部署到远程仓库或将 war 包部署到服务器上运行。
2)Maven核心概念
- ①POM
- ②约定的目录结构
- ③坐标
- ④依赖管理
- ⑤仓库管理
- ⑥生命周期
- ⑦插件和目标
- ⑧继承
- ⑨聚合
3)Maven约定的目录结构
2.为什么要有Maven?
为什么要使用 Maven?它能帮助我们解决什么问题?
- ①添加第三方 jar 包
在我们一般开发中使用了大量的第三方框架和工具。
就像开发 Servlet 的 JavaWeb 时复制粘贴到 WEB-INF/lib 目录下, 但是这会导致每次创建一个新的工程就需要将 jar 包重复复制到 lib 目录下,从而造成工作区中存在大量重复的文件。
而使用 Maven 后每个 jar 包本身只在本地仓库中保存一份,需要 jar 包的工程只需要以坐标的方式
简单的引用一下就可以了。不仅极大的节约了存储空间,让项目更轻巧,更避免了重复文件太多而造成
的混乱。
- ②jar 包之间的依赖关系
我们都知道 jar 包之间一般都会有一些依赖关系,用到一个 jar 包时,必须添加上它所依赖的 jar 包,但是我们有时往往很难记住 jar 包之间的依赖关系,从而导致项目运行出错。
- ③获取第三方 jar 包
使用 Maven 我们可以享受到一个完全统一规范的 jar 包管理体系。你只需要在你的项目中以坐标的方式依赖一个 jar 包,Maven 就会自动从中央仓库进行下载,并同时下载这个 jar 包所依赖的其他 jar 包——规范、完整、准确!一次性解决所有问题!
- ④将项目拆分成多个工程模块
现实生活中,现在的 Java EE 项目越来越大,将一个 Java EE 项目放在一个工程里显然是不合适的,不仅不方便合作,还不方便对项目进行管理。
可以使用 Maven 的依赖管理机制,将一个大的项目拆分成多个工程模块。
3.搭建Maven环境
1)官网下载maven
Maven Download,进入 Maven官网下载 bin 文件即可。
Linux下用 wget 下载:
1 | 下载完后默认在当前所在目录,这里在~目录 |
2)解压maven
将下载的 maven 解压到一个非中文无空格的路径。可以避免一些奇怪的错误。
1 | mv apache-maven-3.6.3-bin.tar.gz /opt/ |
3)配置环境变量
在之前这里已经配置过 JAVA_HOME 变量,没配置的可参照配置 Maven 环境变量配置。
- ①编辑/etc/profile
1 | sudo vim /etc/profile |
- ②在/etc/profile最下方添加配置
注意:这里建议配置 M2_HOME,而不是 MAVEN_HOME。可以避免一些奇怪的错误。
1 | export M2_HOME=/opt/apache-maven-3.6.3 |
在这里看一下我的环境变量配置:
1 | export JAVA_HOME=/opt/jvm/jdk1.8.0_211 |
- ③查看是否配置成功
配置完毕后,需要重启一个终端或命令行再测试是否配置成功。
有的Linux可能需要注销再测试。
1 | 查看 Maven 环境变量 |