1、Maven的基本概念
Maven(翻译为"专家","内行")是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。spring
1.一、项目构建
项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。apache
理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用maven就能够帮咱们完成上述所说的项目构建过程。框架
1.二、依赖管理
依赖指的是jar包之间的相互依赖,好比咱们搭建一个Struts2的开发框架时,光光有struts2-core-2.3.16.3.jar这个jar包是不行的,struts2-core-2.3.16.3.jar还依赖其它的jar包,依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven管理的方式就是“自动下载项目所须要的jar包,统一管理jar包之间的依赖关系”。eclipse
1.三、使用Maven的好处:
1:依赖管理:对jar包的统一管理,能够节省空间。maven
2:一键构建:经过cmd能够一键启动 -- 1.1--项目构建的全部步骤;工具
3:maven由纯java开发,能够跨平台;应用于大型项目,能够分模块开发,提升开发的效率。post
使用Maven能够进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。测试
2、Maven下载
下载地址:http://maven.apache.org/download.cgi阿里云
下载完成后,获得一个压缩包,解压,能够看到maven的组成目录
Maven目录分析
- bin:含有mvn运行的脚本
- boot:含有plexus-classworlds类加载器框架
- conf:含有settings.xml配置文件
- lib:含有Maven运行时所须要的java类库
- LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍
3、Maven安装
一、首先要确保电脑上已经安装了JDK(要jdk 1.6+的版本),配置好JDK的环境变量,使用以下的两个命令检查检查JDK安装的状况。
1 Echo %JAVA_HOME% 2 Java -version
二、对apache-maven-3.2.3-bin.zip进行解压缩
三、设置系统环境变量:MAVEN_HOME
变量值:apache-maven-3.2.3-bin.zip 的解压目录:
四、设置环境变量Path,将%MAVEN_HOME%\bin加入Path中,必定要注意要用分号;与其余值隔开,以下图所示:
%MAVEN_HOME%\bin表明的就是"E:\apache-maven-3.2.3\bin"目录
五、验证Maven安装是否成功
输入"mvn –v"命令 查看Maven的相关信息,以下图所示:
可以出现这样的信息就说明Maven的安装已经成功了。
4、Maven的简单使用
4.一、Maven项目的目录约定
MavenProjectRoot(项目根目录)
|----src
| |----main
| | |----java ——存放项目的.java文件
| | |----resources ——存放项目资源文件,如spring, hibernate配置文件
| |----test
| | |----java ——存放全部测试.java文件,如JUnit测试类
| | |----resources ——存放项目资源文件,如spring, hibernate配置文件
|----target ——项目输出位置
|----pom.xml ----用于标识该项目是一个Maven项目
4.二、手动建立Maven项目,使用Maven编译
一、建立项目根文件夹,例如Maven01
二、在Maven01文件夹中建立“pom.xml”文件,以下图所示:
pom.xml文件中的内容以下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 5 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 6 <!--全部的Maven项目都必须配置这四个配置项--> 7 <modelVersion>4.0.0</modelVersion> 8 <!--groupId指的是项目名的项目组,默认就是包名--> 9 <groupId>cn.gacl.maven.hello</groupId> 10 <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"--> 11 <artifactId>hello-first</artifactId> 12 <!--version指的是版本,这里使用的是Maven的快照版本--> 13 <version>SNAPSHOT-0.0.1</version> 14 </project>
3.编写Java类文件,Maven项目规定,全部的*.java文件必须放在src目录下的main目录下的java目录中,在Maven01项目根目录中建立一个src目录,而后在src目录中建立main目录,在main目录中再建立java文件夹,以下图所示:
在java文件夹下建立一个Hello.java文件,以下图所示
在Hello.java文件中编写以下代码:
1 public class Hello{ 2 public static void main(String[] args){ 3 System.out.println("Hello Maven"); 4 } 5 }
4.使用Maven编译Hello.java,首先进入到项目根目录,而后使用命令”mvn compile”进行编译,以下图所示:
使用Maven编译完成以后,在项目根目录下会生成一个target文件夹,以下图所示:
打开target文件夹,能够看到里面有一个classes文件夹,以下图所示:
classes文件夹存放的就是编译成功后生成的.class文件,以下图所示:
5.使用"mvn clean"命令清除编译结果,也就是把编译生成的target文件夹删掉,以下图所示:
执行完"mvn clean"命令后,target文件夹就会被删除了。
固然这是手动建立项目结构,使用Maven命令编译,清除,打包等,后面使用了Idea或则eclipse就不用这么麻烦了!!
5、修改从Maven中心仓库下载到本地的jar包的默认存储位置
从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home}表示当前登陆系统的用户目录(如"C:\Users\gacl"),以下图所示
Jar包存放在这个位置不太好,咱们但愿可以本身定义下载下来的jar包的存放位置,所以咱们能够本身设置下载到本地时的jar包的存放目录。
在“E:\”目录下建立一个“repository”文件夹
找到apache-maven-3.2.3\conf目录下的settings.xml文件,以下图所示:
编辑setting.xml文件,以下图所示:
加上下面的代码
1 <localRepository>E:/repository</localRepository>
这样就能够把jar包下载到咱们指定的E:/repository目录中了,以下图所示:
把jar包下载到本地的好处就是,当编译时,会优先从本地的jar包去找,若是本地存在,就直接拿来用,若是不存在,就从Maven的中心仓库去下载。以下图所示:
5.2:修改远程仓库为阿里云提供的国内仓库:
在maven目录下找到conf文件夹下的settings.xml文件,在mirrors的子节点添加如下配置:
1 <mirror>
2 <id>nexus-aliyun</id>
3 <mirrorOf>*</mirrorOf>
4 <name>Nexus aliyun</name>
5 <url>http://maven.aliyun.com/nexus/content/groups/public</url>
6 </mirror>