Maven的安装和介绍

一 . Maven是什么?

Apache Maven是一个软件项目管理和理解工具。基于项目对象模型(POM)的概念,Maven可以从一个中心信息管理项目的构建,报告和文档。

官方解释:

Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标
(goal)的逻辑。

二. Maven优点:

1.约定优于配置

2.测试支持

3.构建简单

4.插件丰富

maven能解决什么问题?

通俗点说,我们知道,项目开发不仅仅是写写代码而已,期间会伴随着各种 必不可少的事情要做,下面列举几个感受一下:

1、我们需要引用各种 jar 包,尤其是比较大的工程,引用的 jar 包往往有几十个乃至上百个, 每用到一种 jar 包,都需要手动引入工程目录,而且经常遇到各种让人抓狂的 jar 包冲突,版本冲突。

2、我们辛辛苦苦写好了 Java 文件,可是只懂 0 和 1 的白痴电脑却完全读不懂,需要将它编译成二进制字节码。好歹现在这项工作可以由各种集成开发工具帮我们完成,Eclipse、IDEA 等都可以将代码即时编译。当然,如果你嫌生命漫长,何不铺张,也可以用记事本来敲代码,然后用 javac 命令一个个地去编译,逗电脑玩。

3、世界上没有不存在 bug 的代码,计算机喜欢 bug 就和人们总是喜欢美女帅哥一样。为了追求美为了减少 bug,因此写完了代码,我们还要写一些单元测试,然后一个个的运行来检验代码质量。

4、再优雅的代码也是要出来卖的。我们后面还需要把代码与各种配置文件、资源整合到一起,定型 打包,如果是 web 项目,还需要将之发布到服务器,供人蹂躏。

试想,如果现在有一种工具,可以把你从上面的繁琐工作中解放出来,能帮你构建工程,管理 jar 包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成 Web 站点,你会心动吗?Maven 就可以解决上面所提到的这些问题。

本次实验环境所用系统为CentOS7
内核版本:

[root@xinsz08 ~]# uname -r
3.10.0-862.14.4.el7.x86_64

maven 下载地址
maven版本号 3.6.2

[root@xinsz08 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz

[root@xinsz08 ~]# lsapache-maven-3.6.2-bin.tar.gz[root@xinsz08 ~]#

下载地址为:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz

解压maven

[root@xinsz08 ~]# tar xf apache-maven-3.6.2-bin.tar.gz [root@xinsz08 ~]# lsapache-maven-3.6.2  apache-maven-3.6.2-bin.tar.gz[root@xinsz08 ~]#

设置环境变量

[root@xinsz08 ~]# vim /etc/profile[root@xinsz08 ~]# tail -n 2 /etc/profileexport MAVEN_HOME=/root/apache-maven-3.6.2export PATH=$PATH:$MAVEN_HOME/bin[root@xinsz08 ~]#

注: MAVEN_HOME 的路径改成自己的maven所在路径即可

是配置生效

[root@xinsz08 ~]# source /etc/profile

测试环境变量是否设置成功

[root@xinsz08 ~]# echo  $MAVEN_HOME/root/apache-maven-3.6.2

测试maven命令

[root@xinsz08 ~]# mvn -versionApache Maven 3.0.5 (Red Hat 3.0.5-17)Maven home: /usr/share/maven
Java version: 1.8.0_222, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.14.4.el7.x86_64", arch: "amd64", family: "unix"[root@xinsz08 ~]#

在国内访问Maven仓库,连接速度太慢。下面是将*仓库替换成阿里云的*仓库的方法。

打开maven文件夹,进入其中的conf文件夹设置配置文件:settings.xml

我的路径如下:

[root@xinsz08 conf]# pwd/root/apache-maven-3.6.2/conf[root@xinsz08 conf]#

[root@xinsz08 conf]# vim settings.xml

阿里云的源为: http://maven.aliyun.com/nexus/content/groups/public
Maven的安装和介绍
到此maven配置完毕。

maven的基础命令

1) complie
作用是Java的文件编译成class文件
2) test
test 是 maven 工程的测试命令 mvn test,会执行java 目录下的单元测试类。
3) package
package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于web 工程打成war

4) install
install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。从运行结果中,可以看出:
当后面的命令执行时,前面的操作过程也都会自动执行

使用 maven 完成项目的构建,项目构建包括:清理、编译、测试、部署等过程,maven 将这些过程规范为一个生命周期,如下所示是生命周期的各各阶段:

Maven的安装和介绍

linux下的maven安装和介绍就到这里,都是基础中的基础,如果你不会Java编程,可能还是会有点晕,所以做运维做到最后,还是要懂一门甚至多门开发语言的,比如Java,比如Python。

上一篇:linux基础优化


下一篇:CA认证及搭建过程