1.maven能作什么
1).maven可以管理jar文件
2).自动下载jar和他的文档,源代码
3).管理jar直接的依赖
4).帮你编译程序,把java编译为class
5).帮你测试代码是否正确
6).帮你打包文件,形成jar文件,或者war文件
7).帮你部署项目
2.Maven的九个核心概念
①POM:一个文件,名称是pom.xml,pom翻译过来叫做项目对象模型。maven把一个项目当一个模型使用,控制maven构建项目的过程,管理jar依赖
②约定的目录结构:maven项目的目录和文件的位置都是规定的
③坐标:是一个唯一的字符串,用来表示资源的
④依赖管理:管理你的项目可以使用jar文件
⑤仓库管理:你的资源存放的位置
⑥生命周期:maven工具项目构建过程就是声明周期
插件和目标,继承,聚合(了解)
3.maven的配置
注意解压目录非中文目录
配置环境变量:在系统的环境变量中,新建MAVEN_HOME的名称,指定他的值是maven工具安装目录,bin之前的目录
配置Path:在Path下新建%MAVEN_HOME%\bin\
打开cmd输入mvn -v指令如果出现下图则表示成功
4.maven的核心概念
1).Maven工程约定目录结构:
每一个maven项目在磁盘中都是一个文件夹,eg:一个Hello项目
1 | Hello/ |
5.仓库
1)仓库是什么:仓库是存放东西的,存放maven使用的jar和我们项目使用的jar
maven使用的插件
项目使用的jar(第三方工具)
2)仓库的分类
本地仓库,就是你的个人计算机上的文件架
远程仓库,在互联网上
①:中央仓库,最权威的,所有的开发人员都共享使用的一个集中的仓库
②:中央仓库的镜像:就是中央仓库的备份
③:私服,在公司内部,在局域网中使用的
3)仓库的使用,maven的使用不需要人为参与。
例如开发人员需要mysql驱动—>maven首先查本地仓库—->私服—>镜像—>中央仓库
6.pom文件
pom:项目对象模型,是一个pom.xml文件
1).坐标:唯一值,在互联网中唯一表示一个项目的
1 | <groupId>公司域名的倒写</grooupId> |
http://mvnrepository.com/搜索使用的中央仓库
2).packaging:打包后压缩文件的拓展名,默认时jar,web应用是war
3).依赖
dependencies和dependency
例如我想在文件中加入mysql的jar包
1 | <dependencies> |
4).properties:设置属性
5).build:maven在进行项目的构建时
7.坐标(gav)
定义资源文件的路径由,groupId,artifactId,version三者共同决定,先去本地仓库找,没有去中央仓库
8.Maven常用命令,maven的命令,maven的插件
maven的生命周期,就是maven构建项目的过程:清理,编译,测试,报告,打包,安装,部署
maven的命令:maven可以独立使用,通过命令,完成maven的生命周期的执行。maven可以使用命令完成项目的清理,编译等等
maven的插件:maven命令执行时,真正完成功能的是一些插件,插件就是一些jar文件
1).单元测试:用的是junit,用来测试类中的方法,每一个方法都是独立测试的,方法时测试的基本单位
maven借助单元测试,批量的测试类中的大量方法是否符合预期的
2).使用步骤
加入依赖
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>在maven项目中的src/test/java目录下,创建测试程序
9.idea中使用maven
配置的入口:
1.配置当前工程的配置file–setting–执行,构建,部署–构建工具–maven–配置
2.配置以后新建工程的匹配值file–other settings
10.使用模板创建项目
1).maven-archetype-quickstart:普通的java项目
2).maven-archetype-webapp:web工程
11.依赖范围
scope的值有compile,test,provided
scope:表示依赖使用的范围,也就是在maven构建项目的哪些阶段中起作用
12.maven常用操作