一、下载Maven
下载地址:http://maven.apache.org/download.cgi
二、配置Maven
(一)、配置环境变量
1、配置JAVA_HOME
2、配置MAVEN_HOME或者M2_HOME
3、配置path : %MAVEN_HOME%\bin
(二)、验证是否配置成功
通过cmd,录入命令:mvn -v
![9438859-c3a56f0b9bdcdcae.jpg](https://upload-images.jianshu.io/upload_images/9438859-c3a56f0b9bdcdcae.jpg)
(三)、配置Maven本地仓库
操作一:在Maven的安装目录下的“conf”文件夹--->“setting.xml”文件,如下图所示:
![9438859-4e5504688bd20bcc.jpg](https://upload-images.jianshu.io/upload_images/9438859-4e5504688bd20bcc.jpg)
操作二:在“setting.xml”中(有个默认的目录是在:${user.home}/.m2/repository的本地仓库目录),将“localRepository”这个标签内容解注,并且设置本地一个仓库目录,那么默认的本地目录就失效了。如下图所示:
![9438859-4880518b7a21b22c.jpg](https://upload-images.jianshu.io/upload_images/9438859-4880518b7a21b22c.jpg)
三、使用Maven
(一)、软件开发原则约定优于配置
什么是约定优于配置呢?
例:
第一种:代码job.setPath("d:\abc");,这种设置方式叫硬编码方式。
第二种:job.setPath(config.getPath());,这个config是一个配置文件的对象。conf.xml配置信息
<path>d:\abc</path>。这种设置方式叫配置方式
第三种:老地方见,job寻找大家统一的默认的路径去寻找。使用默认值。
(二)、Maven约定的目录结构:
执行项目:自动去main中去寻找;测试项目:自动去test中去寻找。---这就是约定。
在IDE中的目录结构是:
![9438859-bac0ea6507b4d41a.jpg](https://upload-images.jianshu.io/upload_images/9438859-bac0ea6507b4d41a.jpg)
(三)、pom.xml详解
这个pom.xml是将项目看成一个对象。其中下面的三个内容(groupId、artifactId、version)来表示这个项目或者包的唯一的标识和路径。
<groupId>域名翻转.大项目名</groupId> <artifactId>子模块名</artifactId> <version>版本号</version>
例如: <groupId>org.test.MavenTest</groupId> <artifactId>HelloWorld</artifactId> <version>0.0.1-SNAPSHOT</version>
<name>HelloWorld</name> :这个一般是模块名字。artifactId和name是一样的。
<dependencies> :依赖。例如:commons-fileuplaod.jar ---> commons-io.jar
A中某些类,需要使用B中的某些类,则成为A依赖B。
在Maven项目中,如果要使用一个当前存在的jar或模块,则可以通过依赖实现(去本地仓库、远程仓库去寻找)。