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约定的目录结构

maven_00_02.png


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 文件即可。

http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

  Linux下用 wget 下载:

1
2
3
# 下载完后默认在当前所在目录,这里在~目录
cd ~
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

maven_00_01.png

2)解压maven

  将下载的 maven 解压到一个非中文无空格的路径。可以避免一些奇怪的错误。

1
2
mv apache-maven-3.6.3-bin.tar.gz /opt/
tar -zxvf apache-maven-3.6.3-bin.tar.gz

3)配置环境变量

  在之前这里已经配置过 JAVA_HOME 变量,没配置的可参照配置 Maven 环境变量配置。

  • ①编辑/etc/profile
1
sudo vim /etc/profile
  • ②在/etc/profile最下方添加配置

  注意:这里建议配置 M2_HOME,而不是 MAVEN_HOME。可以避免一些奇怪的错误。

1
2
export M2_HOME=/opt/apache-maven-3.6.3
export PATH=$PATH:${M2_HOME}/bin

  在这里看一下我的环境变量配置:

1
2
3
4
5
6
export JAVA_HOME=/opt/jvm/jdk1.8.0_211
export M2_HOME=/opt/apache-maven-3.6.3
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export PATH=$PATH:${M2_HOME}/bin
  • ③查看是否配置成功

  配置完毕后,需要重启一个终端或命令行再测试是否配置成功。

有的Linux可能需要注销再测试。

1
2
3
4
# 查看 Maven 环境变量
echo $M2_HOME
# 查看 Maven 版本
mvn -v

评论