今天我们来讲解一下Maven,学习Maven技术我们首先要了解为什么要去学,干嘛用的。(思考)
在我们之前的一些项目,我们也陆陆续续引入过一些jar包,而这个包是从网上下载下来的,(比如xx.class这个类我们首先肯定得去上网搜这个类怎么来的---->然后就该引入那些jar包,将xxx.jar导入工程中个还可以接受,但一旦代码负载,难度增强,就会比较繁琐)。
现在就有这么种方式,给我一个字符串就可以获取jar包,是不是很方便呢?省去去找的时间,去下的时间。
Maven简单介绍
Apache Maven是个项目管理和自动构建工具,基于项目对象模型(POM)的概念。
作用:完成项目的相关操作,如:编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
如何操作Maven:
1.去官网下载Maven解压包,同时在解压的时候,尽量避免文件夹的空格,中文格式
网站: http://maven.apache.org/download.cgi
2.配置环境变量
MAVEN_HOME
M2_HOME
Maven用户可以选择配置$M2_HOME/conf/settings.xml或者~/.m2/settings.xml,前者是全局范围的,
整台机器上的所有用户都会直接受到该配置的影响,而后者是用户范围的,只有当前用户才会受到该配置的影响。
推荐使用用户范围的setting.xml,主要是为了避免无意识地影响到系统中的其他用户,
而且为了以后maven升级的方便,直接把配置文件从仓库拷过去就可以了。
修改path添加maven相关路径
配置方式跟jdk有些类似,环境变量MAVEN_HOME和M2_HOME的值为maven的根目录、
然后在PATH环境变量里加入“%MAVEN_HOME%\bin;%M2_HOME%\bin;”即可
3.验证
doc窗口执行命令“mvn –version”
Maven的使用:创建项目
通过上面的 window 找到 preferences 然后搜索maven,配置Installations和User Settings
修改 setting.xml文件,配置本地仓库
例如:E:/mvn-repository
注1:标签在setting.xml文件的53行
注2:仓库的作用就是用来存放jar包的
注3:仓库的分类
中央仓库
公司仓库(也叫私人仓库或私服)
本地仓库
中央仓库(http://search.maven.org/,但一般使用另外一个网站:http://www.mvnrepository.com/)
公司仓库
本地仓库
公司里面还会有一个大仓库(本地)全公司使用
本地仓库程序员自己使用,私服全公司使用,中央仓库所有人用
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
继续配置
建项目时一定要联网,可能需要10到30分钟
创建maven project,目录要选择Internal(自动保存仓库,以后不需下载),id选择webapp
如果项目报错,在pom.xml中配置一:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
将 jdk和Web更改

配置pom.xml
4.0.0
com.ly
T224_maven
war
0.0.1-SNAPSHOT
T224_maven Maven Webapp
http://maven.apache.org
junit
junit
4.12
test
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
T224_maven org.apache.maven.plugins maven-compiler-plugin 3.7.0 1.8 1.8 UTF-8
最后 验证
private static final long serialVersionUID = 6977285526780852923L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println(“maven启动成功!!!”);
}
}
