Maven学习笔记
配置环境变量
从官网下载maven后解压(我的在C:\Maven\apache-maven-3.9.0)
- M2_HOME
- C:\Maven\apache-maven-3.9.0
- Path
- %M2_HOME%\bin
验证
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中加入
<dependencies>
//在此加入依赖信息
</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
目录中
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
maven自己的属性
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
配置IDEA
在setting-Build...-Build Toos-Maven
中设置自己的Maven目录和setting files
在Build Toos-Maven-Runner-VM Options
中添加-DarchetypeCatalog=internal
可以提高速度
阿里云镜像
在settings.xml
中添加以下代码
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果