一、Maven简介
1.什么是maven
Apache组织中的一个颇为成功的开源项目,Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。
2.Maven的好处
构建是程序员每天要做的工作,而且相当长的时间花在了这上面,而maven使这系列的工作完全自动化。 我们一直在寻找避免重复的方法,设计的重复,文档的重复,编码的重复,构建的重复等,maven是跨平台的,最大的消除了构建的重复。
maven的其他优势:
1. maven不仅是构建工具,它还是依赖管理工具和项目管理工具(jar),提供了中央仓库,能够帮我们自动下载构件。
2.为了解决的依赖的增多,版本不一致,版本冲突,依赖臃肿等问题,它通过一个坐标系统来精确地定位每一个构件(artifact)。
3.还能帮助我们分散在各个角落的项目信息,包括项目描述,开发者列表,版本控制系统,许可证,缺陷管理系统地址。
4.maven还为全世界的java开发者提供了一个免费的中央仓库,在其中几乎可以找到任何的流行开源软件。通过衍生工具(Nexus),我们还能对其进行快速搜索
5.maven对于目录结构有要求,约定优于配置,用户在项目间切换就省去了学习成本。
6.应用于大型项目,分模块开发,分团队每个模块开发
3.依赖管理
4.项目的一键构建
二、Maven的下载和安装
1.maven3.3.9下载和解压即可:Maven3.3.9下载
2.maven软件核心文件:解压后的conf文件夹下的setting.xml文件
3.maven环境变量配置
--maven是Java开发的,首先肯定是需要jdk的。
其次,maven3.3以上的版本都是需要jdk1.7以上版本
--为了在控制台可以直接用maven的mvn命令:
1.在系统变量添加
环境变量的名称:MAVEN_HOME
变量值:就是maven软甲解压的目录F:class32apache-maven-3.3.9
2、把MAVEN_HOME添加到path里
3、验证maven是否配置成功:
打开dos窗口输入: mvn –v
那么CMD进入一个maven项目目录下 输入mvn tomcat:run 就可以跑起maven项目了(服务器开启)。
4.上一步输入mvn tomcat:run后将会到远程下载编译插件jar等等,但可以通过配置本地仓库而使用本地的。
--本地仓库下载:本地仓库下载
--那么通过得maven的核心配置文件(解压后的conf文件夹下的setting.xml文件) 配置一下
有如下:
<!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> -->
表示仓库默认在:C:UsersAdministrator.m2 epository ,我们可以把下载的仓库放到这,也可以修改这个本地仓库指定的路径。(我选后者)Default: ${user.home}/.m2/repository
我把本地仓库repository解压到了F:JavaEE epository
那么应该改成这样(最后一行)
<!-- 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>F:JavaEE epository</localRepository>
5.三种仓库
--本地仓库
--远程仓库(私服) 公司维护
--中央仓库 maven团队维护 大概两亿个jar包
本地仓库没有则依次向上级申请和下载,有点像一级二级三级缓存的意思。
三、演示入门程序
1.目录结构(项目名maven-helloworld)
----项目文件夹下的一级目录
pom.xml是maven项目的核心文件。
--项目文件夹下所有目录结构(实际上maven编译完还会生成个与src同级的target文件夹)
2.maven常用命令(都是cmd进入到maven项目下输入的)
--mvn clean 清理编译的文件(target)
--mvn Tomcat:run 一键编译并运行maven项目
--mvn compile 编译主目录(main)的文件
--mvn test 编译并运行test目录
--mvn package 把web项目打成包成war包并放到target(关于打包名字文件等在Pom.xml文件配置)
--mvn install 把web项目发布在本地仓库(打成war包和一些附属文件放到本地仓库文件夹下了)
提示:1.maven依赖管理的是jar包 和上面打成的 war包不同.web项目打成war,Java项目打成jar包
2.mvn install把mvn install、mvn test、mvn package都给执行了