Maven(专家)
一.介绍
1.apache组织提供的一个顶级项目(树的根节点)-->管理所有项目
2.apache开发的所有工具都是用Java开发的
3.作用:
1)管理项目构建生命周期-->使用开发工具IDE就可以
*2)管理项目中的jar包-->开发人员使用
3)管理项目中的基础信息(文档管理,测试报告)-->一般测试人员进行
二.项目构建生命周期
1.简单:开发 编译 打包 发布
打包:
简单的Java工程,将功成中所有的Java类打成jar
简单的Web工程,将工程打成war-->Tomcat中直接运行
2.专业流程:
[clean]--->[compile]--->[test]--->[report]-->[package]--->[deploy]
[清理] ---> [编译] ---> [测试]--->[报告]--->[打包]--->[发布]
三.项目中jar管理
1.jar管理难度:
1)定位较难(下载位置难)
2)jar包之间的依赖较难(此jar包需要它的依赖包)
3)jar包之间的冲突问题(版本冲突等问题)
4)jar包的管理(多个项目公用jar包)
四.Maven怎样管理jar
本地仓库-->私服仓库(局域网中)-->中央仓库(英国)/镜像仓库 ==>Maven做这个取jar包的工作
四.Maven项目信息管理
1)API文档
2)测试报告
//一般由测试人员进行
五.Maven安装与配置
1.[安装] 解压即可,复制到没有中文和空格的位置
2.[配置] :
1)JAVA-HOME:jdk的安装位置
2)MAVEN-HOME:Maven放置位置 D:apache-maven-3.6.3
3)PATH(什么什么的bin)%Maven-HOME%/bin
六.Maven的本地仓库
随便发送maven命令: clean compile package
就会导致maven在当前计算机上生成本地仓库
默认位置 : C:\user[用户名].m2 epository 因为C盘==>所以,重置本地仓库位置
·重置MAVEN本地仓库位置:
conf/settings.xml中 #53<localRepository>E:Repository</localRepository>
七.MAVEN工程结构
eclipse,tomcat可以管理项目-->工程结构就必须符合其本身的规定
maven也同样,有 工程的[约定结构]
- src文件夹 (Java代码)
- main (主要开发)
- java (创建Java文件)
- resource (开发所需的配置文件)
- test (主要进行测试)
- java (测试代码)
- resource (测试所需的配置文件)
- main (主要开发)
- target (放置编译后的字节码文件,测试形成的的测试报告,打包后形成的jar,war)
- pom.xml(与MAVEN交流(向仓库讨要jar)的核心配置文件)
(web项目与Tomcat交流使用web.xml,而与MAVEN交流使用pom.xml)
==>pom.xml详解
<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--gav是定位jar包的坐标,使用gav保证了工程的全球唯一性--> <groupId>[公司域名倒置]</groupId> <artifactId>[工程名(可与项目名不一致)]</artifactId> <version>[工程版本]</version> <!--dependencies中定义本项目所需要的jar包,此时就通过对应jar包的gav来进行定位,gav前往中央仓库查找--> <dependencies> <dependency> <groupId>h</groupId> <artifactId>gy</artifactId> <version>1.0</version> </dependency> </dependencies> </project>
八.MAVEN常见命令(项目构建周期)
1.mvn clean : 清理,删除之前执行命令而生成的target,以备重新执行所需命令
2.mvn compile : 编译,生成class文件输出到target中
3.mvn test : 测试,执行test/java中所有测试@Test方法
同时,生成测试文档输出到targetsevi-report文件夹中
4.mvn package : 打包,打包时为保证打包后的jar/war的正确性,会执行测试
执行test/java中所有测试@Test方法,并生成测试报告到targetsur-report中
如果测试没有问题则将main中Java文件编译成的class文件打成war/jar并输送到target中
5.mvn install : 打包输送到本地仓库中
九.IDEA管理配置MAVEN
注意:1.idea中生成的文件夹需要进行授权,Project structure中进行授权,main,test对应不同的权限
不同的权限,其中可以建对应权限的内容
2.maven下的Java Project-->quickstart
Web Project-->webapp
3.创建maven的webapp时需要Web组件(Servlet时)也需要在pom中讨要
eclipse中是在构建路径,构建路径就是在指明需要的jar包要在构建的路径中找(Tomcat中找),而使用maven就不用了