1.什么是Maven
Maven:一个用于自动化构建项目和管理项目依赖的工具
自动化构建项目:按照企业中主流的项目模板,创建完善的项目结构
管理项目依赖:配置式添加和管理,自动下载和导入依赖
2.为什么使用Maven?
项目的目录结构是固定的,重复的任务,手动效率低。
同时,如果要使用或者更新依赖,必须首先从官方网站下载依赖,之后在去项目中替换依赖
对于依赖比较多的项目,操作起来比较麻烦。使用Maven可以解决上述问题
3.搭建Maven环境
3.1.下载maven
https://maven.apache.org/download.cgihttps://maven.apache.org/download.cgi
3.2. 解压压缩到你自己想存放的路径
3.3 配置java jdk
3.4 配置Maven
open .bash_profile --打开配置文件 输入以下配置
export M2_HOME=/Users/yjh/Desktop/Java/apache-maven-3.8.1
export PATH=$PATH:$M2_HOME/bin
source .bash_profile --配置生效
mvn -v --查看mvn版本
3.5 IDEA配置Maven
打开Proferences>Build,Execution,Deployment>Build Tools>maven
然后修改Maven Home Path的路径到你的Maven文件夹
修改User settings file成你maven文件夹下conf文件下的settings.xml
4.Maven文件结构
5.Maven 仓库 Repostiory
5.1搭建远程仓库
因为受国内网站影响,我们从Maven官网下载会很慢,所以我们去阿里云的镜像库下载
阿里云Maven
然后根据里面maven 配置指南配置我们的Maven仓库
5.2 搭建本地仓库
在我们的Maven文件夹中新建Uselibs文件夹
然后在Maven文件夹>confi>settings.xml中添加本地仓库配置
<localRepository>/Users/yjh/Desktop/Java/apache-maven-3.8.1/Uselibs</localRepository>
然后在我们的IDEA里面查看我们的本地仓库地址是否已经改变
6.Maven配置说明
在我们的settings.xml中,有各类参数,分别为
- offlin 用于配置是否离线
- plugingroups 插件组
- servers 账号密码
- mirrors 镜像
- proxies 代理
- profile 控制全局项目构建参数列表 例如jdk
- activeprofiles 手工配置profile
- activation 指定特定环境下切换profile
- properties 类似变量
- repositories配置远程仓库列表,多仓库配置
- pluginrepositories 插件查库
比如在我们的settings.xml中添加默认jdk环境
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
项目配置的优先级分别为
pom.xml>settings.xmlnote>settings.xml
项目配置>用户配置>全局配置
其他参考pom.xml
pom示例
7.基础组件 gav坐标
groupId:项目ID,当前项目和其他项目的唯一标志
artifactId:组件ID,当前项目中的子应用后者子组件的唯一标志
version:版本号,迭代开发时标志的产品版本信息
字母版本号:
alpha 内测
beta 公测
rc 候选版本,基本成熟
stable 稳定版本
release 稳定发型版本
final 最终版本
8. Maven 命令操作
mvn clean: 清理target编译文件
mvn compile: 编译命令
mvn package: 打包命令, 打包我们编写的项目, 生成的jar/war包存储在我们的target目录中, 方便我们后期部署使用
mvn tomcat:run 使用meven中内置的tomcat插件来运行项目
mvn test 用来执行test目录中的测试案例, 并生成对应的测试报告文档
mvn site 生成报表数据
mvn dependency:tree 用于查看依赖树的命令
mvn install 用于将我们打包的jar/war包添加到本地仓库中, 方便我们本地的其他项目通过这个项目的gvn
坐标引入使用
mvn deploy 将我们安装在本地仓库中的jar/war包发布到私有服务器或镜像仓库, 方便其他项目远程通过gvn
坐标引入使用. 这条命令我们使用的时候一般向私有服务器发布我们打包的文件
9.基础组件:生命周期
10.新建Maven项目
配置项目的maven的环境,如果我们前面都配置好了,这里应该默认就帮我们配置完成
11111111111111111
11.解决项目骨架慢
11.1 下载配置文件archetype-catalog.xml
https://repo1.maven.org/maven2/archetype-catalog.xml
11.2 将文件放到正确目录
/Users/yjh/Desktop/Java/apache-maven-3.8.1/Uselibs/org/apache/maven/archetype/archetype-catalog/3.2.0
这里根据自己的maven的文件夹和版本可能路径不同