配置环境变量
从官网下载maven后解压(我的在C:\Maven\apache-maven-3.9.0)
- M2_HOME
- C:\Maven\apache-maven-3.9.0
- Path
- %M2_HOME%\bin
验证
1 | mvn -v |
至此就配置完毕了
约定的目录结构
src/main/java- 主程序功能代码,service,dao,controller等
src/main/resources- 主程序要使用的配置文件
src/test/java- 测试程序,junit的代码放在这里
src/test/resources- 测试程序使用的配置文件
pom.xml- maven的核心文件,必须有
pom文件
- maven工具各种配置
- 自己项目的坐标
- property属性
- 依赖dependencies,其它工具库,框架的gav坐标
- 构建build, 控制maven构建项目时一些操作,比如设置编译阶段,使用的jdk等
坐标(gav)
- groupId:组织名称
- artifactId:项目名称
- version:版本号
依赖dependencies
依赖类似导入,把其它的jar加入到项目中
在pom的dependency中加入
1 | <dependencies> |
仓库
存放的内容
- 第三方的jar
- 你自己项目的jar
- maven运行时需要的jar
仓库分类
- 本地仓库
- 中央仓库和镜像
- 私服
命令
mvn clean- 清理
mvn compile- 编译src/main/java目录中的java代码为class文件
mvn test-compile- 编译src/test/java目录中的测试代码的
mvn test- 执行src/test/java目录下的测试程序
mvn package- 打包, javase程序是jar , web程序是war
mvn install- 安装,把jar安装到maven仓库
依赖范围
- compile
- 默认的, 在maven构建项目的各个阶段都需要的依赖
- test
- 只有在执行test测试是需要的依赖
- provider
- 在代码编写,运行,测试阶段需要的依赖, 打包,部署由服务器提供,比如tomcat有servlet的jar

定义全局变量
一般用于定义依赖的版本号
- 先定义
<标签名就是变量名>变量值</...> - 使用变量:
${标签名}
创建resource
在pom.xml的<build>加入 <resouces>插件的声明
作用是把src/main/java目录中的文件拷贝到target/classess目录中
1 | <resources> |
maven自己的属性
1 | <properties> |
配置IDEA
在setting-Build...-Build Toos-Maven中设置自己的Maven目录和setting files
在Build Toos-Maven-Runner-VM Options中添加-DarchetypeCatalog=internal可以提高速度
阿里云镜像
在settings.xml中添加以下代码
1 | <mirror> |