一、下载安装
1、下载安装包
apache- maven-3.3. 9-bin. zip
2、解压
3、配置环境变量
a. 添加环境变量
名称:M2_HOME
值:maven 的安装目录
例如:
M2_HOME D:\ComputerSoftware\apache-maven-3.6.3
b. 添加 path
把M2_ HOME加入到path之中。在所有路径之前加入 %M2_HOME%\bin;
4、验证
命令行执行 mvn -v
二、Maven 概述
1、Maven 是一个项目构建的工具
2、作用
(1)管理 jar 文件
自动下载 jar 和它的文档、源代码;管理 jar 直接的依赖(如:a. jar 需要 b.jar,maven会自动下载b. jar);管理你需要的 jar 版本
(2)编译程序
maven 可以同时把成千上百的文件编译为class
(3)测试程序
maven 同时执行多个测试代码,同时测试很多功能
(4)打包文件
把你的项目中所有的class文件,配置文件等所有资源放到一个压缩文件中,这个压缩文件就是项目的结果文件;
通常 java 程序,压缩文件是 jar 扩展名的;
对于 web 应用,压缩文件扩展名是 .war
(5)安装
把生成的文件 jar、war 安装到本机仓库
(6)部署项目
把程序安装好可以执行
3、使用方式
(1)独立使用
使用maven的各种命令,完成代码的编译、测试、打包等
(2)结合开发工具使用
一般在 IntelliJ IDEA 中使用maven,不需要记命令
三、核心概念
1、maven 项目目录结构
Hello/ ----/src --------/main #放你主程序java代码和配置文件 -----------------/java #你的程序包和包中的java文件 -----------------/resources #你的java程序中要使用的配置文件 --------/test #放测试程序代码和文件的(可以没有) -----------------/java #测试程序包和包中的java文件 -----------------/resources #测试java程序中要使用的配置文件 ----/pom. xml #maven的核心文件(maven项目必须有)
2、仓库
(1)用来存放 maven 和项目要使用的 jar
(2)仓库的使用是自动进行的
开发人员需要使用mysql驱动 —> maven首先查本地仓库 —> 私服 —> 镜像 —> 中央仓库
(3)仓库分类
a. 本地仓库:就是你的个人计算机上的文件夹,存放各种jar
b. 远程仓库:在互联网上的,使用网络才能使用的仓库
① 中央仓库:最权威的,所有的开发人员都共享使用的一个集中的仓库;地址: https://repo.maven.apache.org
② 中央仓库的镜像:就是中央仓库的备份,在各大洲, 重要的城市都是镜像
③ 私服:在公司内部,在局域网中使用的,不是对外使用的
3、pom.xml
pom.xml是Maven的灵魂,所以,maven环境搭建好之后,所有的学习和操作都是关于pom.xml的
(1)坐标(gav)
唯一值,在互联网中唯一标识一个项目
① groupId:组织 id
例如:
域名倒写:com.baidu
域名倒写+项目名:com.baidu.appolo
② artifactId
③ version:项目版本号
<groupId>公司域名的倒写</groupId> <artifactId>自定义项目名称</arti factId> <version>自定版本号</version>
(2)打包(packaging)
项目打包的类型,可以使用 jar、war、rar、ear、pom;默认是 jar,web 应用是 war
(3)依赖(dependencies)
<dependencies> <!--依赖java代码中 import --> <dependency> <groupId>mysq1</groupId> <arti factId> mysq1 -connector- java</arti factId> <version>5.1.9</version> </dependency> </dependencies>
(4)属性(properties)
定义配置属性,例如:项目编码方式
(5)构建(build)
配置信息,例如:编译 java 指定的 jdk 版本
4、生命周期
清理、编译、测试、报告、打包、安装、部署
5、常用命令
maven独立使用时,通过命令完成maven的生命周期的执行
(1)单元测试
a. 用的是 junit ,一个专门测试的框架(工具)。junit 测试的是类中的方法,每一个方法都是独立测试的。maven 借助单元测试,批量的测试类中的大量方法是否符合预期
b. 使用方法
先在 pom.xml 加入单元测试依赖,例如:
<!--单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactid> <version>4.11</version> <scope>test</scope> </dependency>
然后,在 maven 项目中的 src/test/java 目录下,创建测试程序,例如:
@Test public void testAdd() { 测试HelloMaven的add方法是否正确 }
通常测试程序命名:
① 测试类的名称是 Test + 要测试的类名
② 测试的方法名称是 Test + 方法名称
(2)常用命令
以下命令要在pom.xml所在目录下执行:
① mvn clean:清理
② mvn compile:编译
(只编译 main 目录,不编译 test 目录;.class 文件保存在 target/classes 目录中)
③ mvn test-compile:编译
(只编译 test 目录,不编译 main 目录;.class 文件保存在 target/test-classes 目录中)
④ mvn test:测试
⑤ mvn package:打包
⑥ mvn install:安装
6、插件
maven命令执行时,真正完成功能的是插件;
插件就是一些 jar 文件,一些类;
在pom.xml文件中进行配置
<!--build是控制配置maven构建项目的参数设置,设置jdk的版本--> . <build> <!-- 配置插件--> <p1ugins> <plugin> <groupId>org . apache. maven. p1ugins</groupId> <!-- 插件的名称 --> <artifactId>maven- compiler-plugin< /artifactId> <!-- 插件的版本 --> <version>3.8.1</version> <!-- 配置插件的信息 --> < configuration> <!-- 告诉maven我们的代码实在jdk1.8上编译的 --> <source>1.8</source> <!-- 我们的程序应该运行在1.8的jdk上 --> <target>1.8</target> </ configuration> </plugin> </plugins> </build>
四、maven 结合 IntelliJ IDEA 使用
1、IDEA 中设置 maven
(1)idea中内置了 maven,一 般不使用内置的,因为用内置修改 maven 的设置不方便;
使用自己安装的 maven,需要覆盖 idea 中的默认的设置,让 idea 指定 maven 安装位置等信息。
(2)需要配置的内容
① maven的安装目录
② maven安装目录下 conf/setting.xml 配置文件位置
③ 本机仓库的目录位置
2、IDEA 使用模板创建项目
(1)普通 Java 项目结构
├─src │ ├─main │ │ ├─java │ │ │ └─com │ │ │ └─bjpowernode │ │ │ HelloMaven.java │ │ │ │ │ └─resources │ └─test │ ├─java │ │ └─com │ │ └─bjpowernode │ │ TestHelloMaven.java │ │ │ └─resources └─target
附:在cmd窗口中执行 tree /f >目录.txt
可以将文件结构输出到本文件夹下的目录 .txt 中
(2)web 工程项目结构
├─src │ ├─main │ │ ├─java │ │ │ └─com │ │ │ └─bjpowernode │ │ │ └─controller │ │ │ HelloServlet.java │ │ │ │ │ ├─resources │ │ └─webapp │ │ │ index.jsp │ │ │ main.jsp │ │ │ │ │ └─WEB-INF │ │ web.xml │ │ │ └─test │ ├─java │ └─resources └─target