- Maven——管理Java项目的工具
- 1.认识Maven
- 2.Maven的相关概念
- (1).约定的目录结构规范:
- (2).pom.xml文件详解:
- (3).坐标(gav):
- (4).依赖(dependency)
- (5).仓库
- (6).Maven生命周期:
- (7).单元测试(junit):
- (8).命令:
- 3.idea中的Maven
- (1).idea中集成Maven:
- (2).idea创建Maven的java工程:
- (3).idea创建Maven的web工程:
- (4).idea中Maven命令的实现:
- 4.自定义变量:
- 5.maven处理文件的默认规则:
软件开发过程中的过程:
Ⅰ.需求分析;
Ⅱ.设计阶段;
Ⅲ.开发阶段;
Ⅳ.测试阶段;
Ⅴ.项目打包与发布。
Maven定义:
Maven是一款自动化构建化工具,由Apache开源基金会所属,使用java语言开发。
Maven作用:
①.Maven可进行【项目的自动构建】,帮助开发人员编译,测试等等。
②.Maven可用于【管理依赖】(jar包)。
Maven的获取与安装:
①.检查确认JAVA_HOME环境变量的配置;
②.解压apache-maven-版本号.zip;
③.将Maven/bin目录放入path中(或者放入MAVEN_HOME);
④.测试,使用DOS命令执行mvn -v命令。
(2).pom.xml文件详解:Maven项目文件夹:
/src/main/java [java程序源代码]
/resources [程序所需配置文件]
/test/java [java程序测试代码]
/resources [java测试所需配置文件]
/pom.xml [核心配置文件!!!]
作用:
通过pom文件进行【项目构建】和【依赖管理】;
坐标的组成:
Ⅰ.groupId:组织名称,代码,一般情况下为【公司域名的倒写】,比如www.baidu.com---->(groupId)com.baidu。
Ⅱ.artifactId:项目名称(唯一的)
Ⅲ.version:项目的版本号。
坐标的特点:
坐标是资源的唯一标识,在Maven中,每个资源都有坐标。
用于管理依赖,使用外界的jar包也需要使用gav。
坐标搜索的地址:
登录https://mvnrepository.com/可查询到很多项目的坐标。
依赖的使用:
①使用dependency与gav一起完成依赖的使用;
②在pom中用dependency和gav一起完成依赖的说明。
在pom.xml中的语法格式:
(组织名称) (项目名称) (版本号) (项目打包类型) (依赖范围)
Maven使用gav作为标识,进入互联网查找资源jar包并下载到本机。
(5).仓库maven仓库存放内容:
①.maven工具自己的jar包;
②.第三方其他的jar包,例如mysql的驱动;
③.自己写的程序被打包存入。
本地仓库的路径:
默认:
(登录用户)/.m2/repository
自定义方法:
(6).Maven生命周期:Ⅰ.进入(maven安装目录)/conf/settings.xml目录;
Ⅱ.修改setting.xml文件中
(新的仓库路径)
Ⅲ.将仓库资源拷贝到本地仓库中。
清理->编译->测试->报告->打包->安装->部署
(7).单元测试(junit):概念:
junit是指单元测试工具;
单元概念:
java中单元指方法,方法是测试的最小单位;
作用:
junit测试方法是否达成业务需求,属于自测范畴;
使用:
<1>加入junit依赖;
<2>在src/test/java/下创建类,写测试类代码。
测试类代码规范:
(8).命令:①测试类名:Test+(要测试的类名);
②.测试类包要和测试类名字一致;
③.测试方法:public void 【Test+测试方法名】(无参数){...}
④.测试类中的方法可单独执行;
⑤.在方法域中加入测试注解:@Test。
mvn clean:清理,删除以前生成的数据(target目录);
mvn compile:编译,将【src/main/java】目录中java代码编译为class文件,同时将class文件拷贝到【target/classes】目录中;
mvn test-compile:编译,将【src/test/java】目录中的源文件编译,生成class文件拷贝到【target/test-classes】目录中;同时将【src/test/resources】目录文件拷贝到【target/test-classes】。
mvn test:测试,执行【target/classes】中的文件,测试【src/main/java】目录下主程序代码是否符合要求。
mvn package:将class文件和配置文件打包成jar/war包。
mvn install:把生成打包的文件,安装到maven仓库中。
mvn clean package:清理已有的插件。
3.idea中的Maven (1).idea中集成Maven:
进入File->settings->Build,Execution,Deployment->Build Tools->Maven
进入File->settings->Build,Execution,Deployment->Build Tools->Maven->Runner
创建模块选中Maven,选择模板:
普通java程序的目录结构:
创建模块选中Maven,选择模板:
web工程的目录结构:
右侧Maven处:
在properties标签中,定义一个变量,指定版本的值:
比如:
4.11.RELEASE 5.2.5.RELEASE
在依赖中使用时:
5.maven处理文件的默认规则:${junit.version} ${spring.version}
①.maven将【src/main/resources】目录中文件拷贝到【target/classes】目录下;
②.maven仅处理【src/main/java】目录中的.java文件,编译为class文件后拷贝到【target/classes】目录下;
资源插件可改变maven的默认处理文件规则:
src/main/java ***.xml false



