1、Maven简介
Maven的英文翻译为“专家”,“内行”。Maven是Apache下一个纯Java开发的开源项目,它是一个跨平台的项目管理工具,即针对Java平台的项目构建和依赖的管理。Maven提供了开发人员构建一个完整的生命周期框架,从清理、编译、测试、报告、打包、再到最后的部署。简单来说Maven就方便Java项目的构建,同时也方便开发者对项目的管理。
Maven在企业中使用非常的广泛,虽然用的很多,但是有些人对于Maven的发音任然不标准。Maven 读音是 [ˈmeɪvn]。可以读作“霉文”或者”麦文”,但是不能读成”妈文”、”某文”等。
(1)项目构建
我们首先要区别的是,项目构建并不是项目创建的意思,项目创建只是一个工程的创建过程,而项目构建过程包括:【清理→编译→测试→报告→打包→部署】这几个步骤,这六个步骤就是一个项目的完整构建过程。
(2)依赖管理
依赖指的是项目与jar包之间的相互依赖,比如我们在使用Spring框架的时候,需要用到Spring依赖的jar包。而依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven管理的方式就是“自动下载项目所需要的jar包,统一管理jar包之间的依赖关系”。比如在文件上传的时候,光光有common-fileupload这个jar包是不行的,common-fileupload还依赖于common-io这个包jar包,此时由于Maven的依赖管理机制,都会帮我们自动下载这些包,我们并不需要管。
2、为什么使用Maven
为什么使用Maven我们首先得去分析传统项目管理的缺陷有哪些:
- jar包需要我们自己去网上下载,非常的麻烦,而且有些jar包根本找不到。
- 如果某个jar需要依赖其它jar包的话,还需要去找依赖的jar包,而且很有可能我们漏掉了某个依赖关系,就会导致项目运行报错。
- 没有对jar包的版本统一管理,容易导致版本冲突。
- 传统的一个项目就是一个工程。如果项目比较庞大,那么利用包名来划分模块,显然容易造成混淆而且不利于分工合作。
- 传统项目的部署和迁移不方便,容易出现错误。
根据以上缺陷便可以总结出使用Maven的好处:
- 避免四处找jar包。
- 消除Jar包之间的相互依赖。
- 避免Jar包冲突
- 项目拆分多个模块。
- 项目的步署和迁移方便,甚至分步式部署也很方便。
3、Maven的下载
Maven的下载地址为:https://maven.apache.org/download.cgi
-------------------------------------------------------------------------------------------------------------------------------------------
点击apache-maven-3.6.3-bin.zip下载。这里当然选择的是最新的版本,下载成功之后,在电脑上解压。
解压后的文件目录如下所示:
下面介绍一下各个文件的作用:
- bin目录:包含 maven运行时的脚本, 这些脚本用来配置Java命令,准备好 classpath和相关的java系统属性。 其中:mvn 是UNIX平台的shell脚本, mvn.cmd 是Windows平台的 bat脚本, mvcDebug 是UNIX的调试脚本, mvcDebug.cmd 是Windows平台的 调试脚本。
- boot目录:包含两个文件。 其中plexus-classworlds-2.6.0.jar ,是一个类加载器框架。Maven可以使用它,来加载自己的类库。
- conf目录:是配置文件目录,其中有一个 settings.xml 文件,用来配置maven。还有一个 logging文件,日志记录,来配置日志的相关信息。
- lib目录:maven运行时,所需要的类库。 里面放置了大量的 .jar 类库及对应的软件许可证 .license.
- LICENSE:Maven使用的软件许可证。
- NOTICE:Maven包含的第三方软件
- README.txt:Maven的简单介绍,包括安装需求和安装的简要指令。
我们光下载了Maven的文件是不行的,还得配置全局变量,下面是对Maven的配置。
4、Maven的配置
注意:Maven是依赖于JDK的,所以我们在安装 Maven之前,电脑上必须先安装 JDK。
首先右击此电脑—>属性—>高级系统设置—>高级—>环境变量。
①、新建系统变量:MAVEN_HOME。变量值:D:Mavenapache-maven-3.6.3(这是你Maven的存储路径)
②、编辑系统变量:Path。添加变量值:%MAVEN_HOME%in。其中“%MAVEN_HOME%in”代表的就是”D:Mavenapache-maven-3.6.3in“目录。
③、检验配置是否成功:用win键+R,输入cmd进入dos命令,输入mvn -v,出现如下信息则表明成功!
④、配置运行参数环境变量(可选配置):MAVEN_OPTS。变量值:-Xms128m -Xmx512m。
因为Maven使用来Java来启动的,所以依赖于JVM。所以可以通过JAVA命令参数的方式来设置MAVEN运行参数。
5、Maven的优化
①、修改本地仓库位置。
Maven管理的jar包默认是存储在C盘用户目录下的 .m2 下的repository中。
如果你和我一样有强迫症的话(不喜欢把无关系统的东西放在C盘),可以更改Maven的存储位置。
首先我们找到解压的Maven文件,然后打开conf目录下的setting.xml。
大概在55行左右我们加入如下配置文件:
<localRepository>D:/Maven/maven-repository</localRepository>
我把它存放在D盘下。
②、修改镜像源。
Maven默认下载jar包是从中央仓库下载的,所以我们在国内下载jar包是非常非常的慢,所以我们需要改一下,这里推荐阿里云的仓库。
大概在setting.xml中的第159行左右我们加入如下配置文件:
<mirror> <id>nexus-aliyun</id> <name>nexus-aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> <mirrorOf>central</mirrorOf> </mirror>
③、修改Maven默认的JDK版本。
我们在使用编辑软件开发时,编辑软件总是默认给我们设置奇奇怪怪的JDK版本,导致程序总是莫名的报错,这一点我是采过坑的。自己电脑上安装的什么版本的JDK我们就设置对应的JDK版本就可以了。
大概在setting.xml中的第218行左右我们加入如下配置文件:
<profile> <id>jdk-1.8</id> <activation> <jdk>1.8</jdk> <activeByDefault>true</activeByDefault> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
我的是JDK1.8版本。