摘要:本文学习了Maven的安装配置以及在项目中的简单使用。
环境
Windows 10 企业版 LTSC 21H2
Java 1.8
Maven 3.6.3
1 下载安装
1.1 准备工作
Maven的运行依赖JDK,需先安装JDK并配置环境变量,且Maven版本与JDK版本必须匹配,否则会报错。
打开命令行输入java -version命令和javac -version命令,确保两者版本一致且无报错,否则需先修复JDK配置。
1.2 下载安装
官方下载地址:https://maven.apache.org/download.cgi
下载和JDK匹配的压缩包,解压到本地软件安装目录。
1.3 环境变量
新建环境变量,变量名为MAVEN_HOME,变量值为解压目录。
找到Path环境变量,点击编辑,新建变量%MAVEN_HOME%\bin并保存,设置后可以在DOS中执行命令。
1.4 验证
打开cmd命令行,执行mvn -v命令:
1 | Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) |
如能正确显示安装的版本,则说明环境变量配置正确。
2 仓库
2.1 含义
仓库能够统一管理Jar包,在项目中通过坐标引入,不需要手动导入,整个项目只需要一个pom.xml文件就解决了Jar包的问题。
2.2 分类
仓库分为两类,本地仓库和远程仓库,远程仓库还可以细分为三种,按优先级排序:
- 本地仓库:缓存从远程仓库下载的Jar包,供本地所有Maven项目使用。
- 私服仓库:企业内部共享Jar包,避免外网依赖。比如企业运维搭建的Nexus仓库。
- 中央仓库镜像:中央仓库的镜像仓库,目的是为了提高访问速度,遵循就近原则。比如阿里云镜像和华为云镜像。
- 中央仓库官方:全球公共Jar包存储的仓库,速度比较慢。地址:https://repo.maven.apache.org/maven2/
2.3 配置
2.3.1 配置本地仓库
默认使用C:\Users\当前用户名\.m2\repository作为本地仓库的路径。
可以在settings.xml文件中修改本地仓库的路径:
1 | <localRepository>D:\Work\MavenRepository</localRepository> |
2.3.2 配置中央仓库镜像
官方中央仓库在国外,直接通过中央仓库下载Jar太慢,需替换为阿里云镜像,同样是修改settings.xml文件:
1 | <mirrors> |
3 简单使用
3.1 创建项目
创建demo-maven项目目录,并在目录中创建pom.xml文件:
1 |
|
按照标准目录结构在项目中创建目录和文件:
1 | demo-maven |
构建后的target输出目录会自动创建,不需要手动创建。
编写主程序代码:
1 | package com.example.demo;// 必须与目录结构一致 |
编写测试程序代码:
1 | package com.example.demo; |
3.2 执行命令
打开cmd命令行,进入项目目录执行命令。
3.2.1 清理
使用mvn clean命令清理项目,出现BUILD SUCCESS即表示清理成功。
清理命令会删除target目录。
3.2.2 编译
使用mvn compile命令编译项目,出现BUILD SUCCESS即表示编译成功。
清理命令会:
- 编译
src/main/java下的主程序源码,生成字节码文件放到target/classes目录。 - 复制
src/main/resources下的资源文件,放到target/classes目录。
3.2.3 测试
使用mvn test命令测试项目,出现BUILD SUCCESS即表示测试成功。
测试命令会:
- 预先执行
mvn compile命令编译项目,确保主程序已编译。 - 编译
src/test/java下的测试源码,生成字节码文件放到target/test-classes目录。 - 执行所有带
@Test注解的测试方法,生成测试报告。
3.2.4 打包
使用mvn package命令打包项目,出现BUILD SUCCESS即表示打包成功。
打包命令会:
- 预先执行
mvn compile test命令,确保测试通过。 - 将主程序目录
src/main下的文件打包为压缩产物,放在target目录。
默认压缩格式为Jar包,如果需要War包,需要在pom.xml文件中添加:
1 | <packaging>war</packaging> |
如果打包生成的是War包,还需要配置Web项目结构,处理Web资源文件。
3.2.5 部署
使用mvn install命令部署项目,出现BUILD SUCCESS即表示部署成功。
部署命令会:
- 预先执行
mvn compile test package命令,确保已经生成打包文件。 - 复制
target目录下的打包产物,放在本地仓库,目录结构遵循GAV坐标。
部署成功后会在命令行打印打包产物在仓库的位置。
3.2.6 发布
使用mvn deploy命令发布项目,出现BUILD SUCCESS即表示发布成功。
发布命令会:
- 预先执行
mvn compile test package install命令,确保已经在本地仓库部署。 - 复制本地仓库的打包产物,推送到远程仓库,目录结构遵循GAV坐标。
发布需要在pom.xml文件中配置远程仓库。
条