MAVEN(专家)
一、介绍
1、apache组织提供一个顶级项目
2、maven是一个由 Java 开发工具
3、作用
- 管理项目构建生命周期
- 管理项目中jar包
- 管理项目基础信息(文档管理,测试报告)
二、项目构建生命周期
1、简单
- 开发
- 编译
- 打包
- 发布
打包:
简单的Java工程,将工程中所有的 java类打成 jar包
简单的WEB工程,将工程打成war----->tomcat
2、专业流程
【清理】-------> 【编译】-------> 【测试】------> 【报告】 ------->【打包】------->【发布】
三、项目中jar管理
jar管理难度
- 定位较难
- jar包之间依赖较难
- jar之间冲突
- jar管理
四、MAVEN是如何管理jar
【本地仓库】------->【局域网私服仓库】-------->【中央仓库】
五、maven项目信息管理(测试人员使用)
1、api文档
2、测试报告
六、MAVEN安装与配置
1、下载
2、安装
解压即可
此时只能在maven目录下才能运行
3、配置
(1)【JAVA-HOME】:jdk安装位置
(2)【MAVEN-HOME】:MAVEN安装地址
(3)【path】:%MAVEN_HOME%\bin
配置过后,即可在任意位置运行maven了
七、maven的本地仓库
随便发送maven命令:
- mvn clean
- mvn compile
- mvn package
导致maven在当前计算机上生成一个本地仓库
默认位置:C:\ 用户【users】\ asus【 (登陆用户名称】\.m2\respository
八、重新设置MAVEN本地仓库地址,以免重装系统数据丢失
1、【MAVEN安装路径\conf\settings.xml】中定位标签
2、找到<localRepository>/path/ to/local/ repo</localRepository>,即默认仓库在C盘下
3、新建仓库,里面存放开发中需要的所有jar包
4、重新设置本地仓库地址
九、MAVEN工程结构
1、MAVEN可以管理工程,必须按照【约定结构】来创建
2、结构(重点 )
(1)src文件夹( java代码)
-
main(主要开发)
- java (创建java文件)
- resources (配置文件,如:propeties)
-
test(主要进行测试)
- java (创建测试类)
- resources(测试时使用的配置文件)
(2)target文件
编译为class文件,在创建项目时,不需要创建。MAVEN命令在执行时自动创建target
(3)pom.xml
核心配置文件。主要向MAVEN讨要jar
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLschema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!--模型版本。maven2.0必须是这样写,现在是maven2唯一支持的版本-->
<modelVersion>4.0.0</modelVersion>
<!--公司或者组织的唯一标志,并且配置时生成的路径也是由此生成,如com.winner.trade,maven会将该项目打成的jar包放在本地路径:../com/winner/trade-->
<groupId>com.university</groupId>
<!--本项目的唯一ID,一个groupId下面可能多个项目,就是靠artifactId来区分的-->
<artifactId>maven_Project</artifactId>
<!--本项目目前所处的版本号-->
<version>6.0</version>
<!--存放的所有jar包-->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactid>junit</artifactid>
<version>4.11</version>
<!--此jar包在何时使用-->
<scope>test</scope>
</dependency>
</dependencies>
</project>
十、MAVEN常见命令(项目构建周期)
1、mvn clean
删除当前工程中target
2、mvn compile
将当前工程中main文件下所有的Java编译为class,输送到当前工程中的target
3、mvn test
调用test文件夹下所有测试类中的所有测试方法,并生成测试报告
4、mvn package
将工程中test文件下所有的Java测试类的方法调用执行进行测试,并生成【测试报告】。如果测试没有问题,就会将main文件下所有class文件打成(jar ,war),输送到当前工程【target】
5、mvn install
与package命令执行基本一致,将【jar、war】推送到maven的本地仓库中
十一、MAVEN坐标(gav)
为了方便maven对jar的定位。在maven世界中,每一个jar都要有一个独立坐标,相当于【ip】,这个独立坐标由三部分组成
<groupId>所在公司域名反顺序</groupId>
<artifactId>项目名称</artifactId>
<version>项目版本号</version>