一、Maven是什么
Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。
它有什么用呢?
比如我以前要IOUtils这个包,那要到网站下去下载下来,再导入。
当jar包多的时候,一个一个导出,是不是太麻烦了。而且升级一个包,相关的依赖包也需要升级,那就更麻烦了。
于是就有了Maven,它可以管理包的依赖。
不用像以前一样,一步步创建lib包、复制入包再点击add as library...
只要在pom.xml中加入一段这样的代码:
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version>
</dependency>
这就可以导入版本为1.2.3的logback包。
用大牛喜欢说的话就是:Maven有依赖管理的作用。
还有,有没有办法给idea、eclipse甚至Myeclipse导入同样能用的项目包?有的。Maven就有,这种功能叫做统一项目结构。
统一后的结构如下:
除此以外,Maven它还能帮助项目构建。
我们知道,一般项目都是编译完后,再测试、打包,最后发布。
用Maven来管理项目,用标准化的流程来管理项目的流程。
包括了清理操作,即清理Maven其他导入项目的依赖,保证包的版本等适配。
简而言之,就可以基于Maven的指令,快速进行项目的编译测试等操作。
流程:
清理-->编译-->测试-->打包-->发布
双击compile可以自动编译,双击package可以打包。
还跨平台哦,包括Linux、Windows、MacOS等。
二、Maven结构介绍
Maven结构如下:
其中,插件就体现在之前说的双击complie能够自动编译、package能够自动打包等的功能中。从一个个的文件,到jar包,再到最后发布组成其他项目……
然后是POM,项目对象模型,这就是描述Maven项目本身的模型。它包括了描述自身的信息,比如下图中的归属组织、模块名称以及版本。
<groupId>com.haha</groupId>
<artifactId>maven-project01</artifactId>
<version>1.0-SNAPSHOT</version>
除此以外,还能描述其他依赖包信息。比如上面导入的1.2.3的logback包:
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version>
</dependency>
这就写再pom.xml文件中。
最后是依赖管理模型。
依赖管理模型用来查找包,导入依赖等。
它首先会在本地仓库查找,然后到Maven自建的中央仓库查找。当然,服务器地址设在国外的中央仓库速度不是很高,所以一般也会用到公司等自建的远程仓库。
三、安装Maven
1.首先解压Maven包
***作为程序员,本篇包括以后放置文件的路径最好都不要带中文、空格、特殊字符*&#之类的。***
我解压到了D盘下。
简单介绍一下:
bin-存放可执行文件
conf-存放配置文件
lib-存放Maven依赖的jar包资源
2.配置Maven本地仓库
在Maven路径下新建一个文件夹,作为本地仓库。
友情提示,最好放一个空间比较多的盘,因为Maven本地仓库可能要存比较多、比较大的jar包。
这里建一个叫mvn_pkg:
然后在conf中编辑settings.xml文件。可以右键-打开方式-文本文档打开,也可以用notepad++之类的。
找到<localRepository>/path/to/local/repo</localRepository>,然后复制出注释,比如可以直接复制到下面,然后把路径改为你自己刚才建的文件夹。具体改后代码如下:
<!-- localRepository| The path to the local repository maven will use to store artifacts.|| Default: ${user.home}/.m2/repository<localRepository>/path/to/local/repo</localRepository>--><localRepository>D:\maven\mvn_pkg</localRepository>
3.配置阿里云私服
同样是在settings.xml文件中,找到mirrors文件夹,复制下列代码过去:
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
复制结果如图:
记得保存哦。
4.配置Maven环境变量
然后,想要在任意目录下的cmd里都使用maven的命令,就要配置Maven的环境变量。
在搜索栏搜索“编辑系统环境变量”,点击“环境变量”,新建MAVEN_HOME环境变量,如下图,点击“新建”,输入变量名、变量值,再点击“确定”。
再把maven下的bin目录加入path中。找到path,点击“编辑”,再点击“新建”,输入
%MAVEN_HOME%\bin
然后点击确定。
最终就配置好了Maven环境。
验证
打开命令行(如何打开可以参考我的文章打开Windows命令行、Powershell窗口的多种方法)
输入mvn -v测试。
成功了显示结果如下:
没成功会这样显示:
那就自己认真检查第四步,配置系统环境啦。 (很有可能是Java的路径没配置好哦)