一、Maven简介
1.1说明
Maven是一个基于项目对象模型(POM)用于进行项目的依赖管理、生命周期性管理
的工具软件
1.2优点
-
相对于传统的导入jar包更加简洁
-
不同的项目中需要相同的jar文件,不需要分别存储
-
不同的环境下(比如eclipse和idea),不会因为jar文件版本不一致导致项目无法运行
1.3项目的生命周期(扩展)
项目重编译到运行的整个过程
完整的生命周期:清理缓存—校验—编译—测试—打包—安装—部署
二、Maven安装及配置
2.1Maven下载
2.2Maven安装
建议JDK版本1.7+
开箱即用:直接解压即可
-
目录结构:
-
bin存放指令文件(Maven提供了一个mvn指令)
-
boot包含了一个类加载框架的jar文件
-
conf包含了Maven的核心配置文件settings.xml
-
lib存放了Maven运行所需要的jar文件
-
2.3配置环境变量
-
与JAVA的环境变量配置基本相同
-
MAVEN_HOME 配置解压文件apache-maven-3.63的地址
-
Path 增添 %MAVEN_HOME%\bin
测试 |
---|
三、Maven的项目结构
不同开发工具下的Maven项目结构都是统一的
目录名称
--src
--main(存放项目的源文件)
--java(存放java代码)
--resources(存放配置文件和静态资源的目录,相当于传统的web项目)
--test(存放单元测试代码)
--java(测试代码)
--pom.xml(Maven可以根据pom文件的配置对此项目进行依赖管理)
四、依赖管理
4.1Maven依赖管理流程
4.2仓库介绍
-
本地仓库:是指本地计算机的某个文件夹(可以是自定义的任何文件夹)
-
远程仓库:是指远程主机上的jar文件仓库
-
中央仓库:Maven官方提供的仓库,包含一切依赖(免配置但因为是外网所以比较慢)
-
公共仓库:除了中央仓库以外的第三方仓库都是公共仓库,例如aliyun(需要配置)
-
私服(扩展):企业搭建的供给内部使用的Maven仓库
-
扩展 |
---|
4.3仓库配置
找到文件Maven解压文件中的settings.xml配置文件
配置本地仓库
找到以下内容
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
这里都是注释但是复制这句代码
<localRepository>/path/to/local/repo</localRepository>添加到注释下方
<localRepository>(填写你自定义的本地仓库文件位置)</localRepository>
配置远程仓库
<mirrors><!--找到这个标签-->
<!--添加阿里云公共仓库-->
<mirror>
<id>nexus-aliyun</id>
<name>nexus-aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirrors>
五、基于IDEA的Maven使用
5.1Maven配置到idea中
5.2创建Maven项目(Java)
5.3添加依赖
项目中所需要的依赖需要自己再Maven依赖官网中下载查询(一般外网特别慢并且有可能无法进入)或者网上百度需要依赖的名称 |
---|
这里原本就是白色说明本地仓库有,而从红色变为白色即为成功(不要使用上面两个依赖你们无法添加成功),上面表示<dependencies></dependencies>标签只需一个即可 |
---|
5.4IDEA进行生命周期管理说明
-
clean 清理项目生成的缓存
-
validate 验证项目需要的项目信息和依赖是否正确
-
compile 编译项目专供的源代码
-
test 运行项目中的测试单元
-
package 将项目编译后的代码打包成发布格式
-
verify 对集成测试结果进行检查、确保项目质量达标
-
install 将打包的安装包安装到maven的本地仓库,以便于在本地其他项目中可以使用此项目(扩展:聚合工程)
-
deploy 将包安装到私服的仓库,以供其他开发人员共享
5.5Maven搭建web项目
- 简便方式
- 不使用骨架直接下一步即可(推荐)
pom.xml中配置 |
---|
web.xml |
---|
5.5.1配置Tomcat
序号③代表你自己的项目名称 |
---|
5.5.2测试
测试 |
---|
- 点击运行
运行结果 |
---|
六、结束语
我的语言描述有时候会有一些问题,请大家不要介意,如果有不懂和配置错误的地方或者需要其他的扩展(比如:私服配置)可以在下方评论,我会及时的回复(若是没有及时回复,对大家说一句抱歉,请耐心的等待)