Maven是专门用于管理和构建java项目的工具,它主要有以下功能:
为什么要构建标准的项目结构?
因为不同的开发工具项目结构不一样,导致我们的代码不通用,于是Maven站出来构建了一套标准的项目结构
Maven提供了这样一套标准的项目结构,所有使用Maven构建的项目结构完全一样,并且所有Maven项目可以通用
标准化的构建流程:
我们的项目完成后,要进行这一系列操作,Maven提供了一套简单的命令来完成项目构建
在我们IDEA右部有个Mavn图标
如果大家右边没有这个图标,按照下述方法开启即可
我们点击右边的maven
如果我们想要进行某操作直接点击对应选项即可,比如我们在这里点击编译
然后我们在进行一个打包操作
我们进行完package操作后,显示了一个路径
我们可以发现我们对应下的路径就有了一个jar包
由此发现,Maven提供了一套简单的命令来构建项目
依赖管理:依赖管理其实就是管理你项目所依赖的第三方资源 (jar包、插件…)
就比如我们在学习JDBC编程的时候,会引入一个对应的jar包,大概是先创建一个lib目录,然后将下载好的jar包复制到项目,加入工作目录进行等一系列操作
而我们的Maven使用标准的坐标配置来管理各种依赖
Apache Maven:是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
Maven官网
Maven作用:
标准化的项目结构
标准化的构建流程
简洁的依赖管理
Maven模型:
生命周期:即是我们上述介绍的通过一系列插件进行的compile,clean.package,install等等操作
项目对象模型:
我们可以在pom.xml看到,这三部分就是一个项目的唯一标识,也正是通过这个标识相互之间依赖。
依赖管理模型:
我们以引入的mysql依赖为大家介绍,我们引入这个坐标后从哪里找这个jar包,其实是从我们的仓库去找的
大家不必关心这个仓库,只需要知道它里面放了各种各样的jar即可,我们等会会带大家配置的。
上述是在我们maven本地仓库找到相应的jar包引入
本地仓库:我们计算机上的一个maven
中央仓库:是由Maven团队维护的一个全球唯一仓库
远程仓库:一般是我们公司自己搭建的私有仓库
我们项目中坐标引入相应依赖jar包后,首先会在本地仓库查找是否存在对应的jar包。
如果有,直接在项目中引入,如果没有,则去中央仓库下载对应jar包到本地仓库。
如果我们搭建了远程仓库,那么我们的顺序就变为:本地仓库 -> 远程仓库 ->中央仓库
我们直接进入Maven官网下载即可,Download,点击archives(存档)
大家选择自己需要的版本
选择二进制文件
下载压缩包即可
然后解压即可
我们可以看看maven文件里面都有什么:
我们需要配置一下环境变量,使得我们在任何地方都能运行mvn
配置环境变量,创建一个MAVEN_HOME,将maven的bin路径粘贴过来
然后在path文件下添加
在配完环境变量后,我们打开cmd窗口输入mvn -version
如果显示上述证明我们配置成功
配置本地仓库: 修改 conf/settings.xml 中的 为一个指定目录
一般会在我们电脑有一个默认仓库路径,但是不方便查找我们一般在maven目录下重新创建一个仓库
我们首先在maven目录下创建一个本地仓库目录,然后打开conf,settings.xml
将本地仓库配置为自己创建的
配置阿里云私服(可选): 修改 conf/settings.xml 中的 标签,为其添加如下子标签:
alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central
这一步操作可进行可不进行,主要是为了因为maven中央仓库在国外,我们使用的速度比较慢,所以引入一个阿里云的私服
常用命令:
命令 | 作用 |
---|---|
compile | 编译 |
clean | 清理 |
test | 测试 |
package | 打包 |
install | 安装 |
Maven生命周期: 住描述Maven在构建项目过程中经历了多少个时间
clean:清理工作:
default:核心工作,例如编译,测试,打包,安装等
大家需要注意的是:同一生命周期内,执行后面的命令,前面的命令会自动执行
选择File -> settings
找到maven,或者直接目录直接搜maven都行
因为IDEA默认使用的是自带的maven,所以我们需要修改为本地安装的Maven,修改配置文件路径
什么是坐标?
1.Maven中的坐标是资源的唯一标识
2.使用坐标来定义本项目或者引入项目中所需要的依赖
Maven标准由以上几部分组成:
groupId:定义当前Maven项目隶属组织名称(通常是域名反写)
artifactId:定义当前Maven项目名称(通常是模块名称,maven_project)
version:定义当前项目版本号
创建模块,选择Maven
点击next
如果是IDEA比较新的版本:
选择右侧Maven面板,点击 + 号
选中对应项目的pom.xml文件,双击即可
这样一个Maven项目就成功导入了
我们在执行声明周期的操作时,右边的Maven板块可以进行,但当项目多了之后操作起来不够快捷
我们可以安装一款软件,直接右键项目即可进行操作
选择 IDEA中 File --> Settings
安装完成后重启IDEA
右键我们的项目,如果看到该部分就证明该插件安装完毕。
使用对应下标导入jar包:
1.在 pom.xml 中编写 标签
2.在 标签中 使用 引入坐标
3.定义坐标的 groupId,artifactId,version
4.点击刷新按钮,使坐标生效
我们在坐标导入的时候,输入首字母就会有快捷提示,还是比较便捷的,一个dependencies中可以有多个dependency
引入坐标后记得刷新,也可以在设置里设置为实时刷新
Build Tools,选择 Any changes,点击 ok 即可生效
依赖范围:
我们可以设置坐标的依赖范围(scope),可以设置对应jar包的作用范围。
scope默认值是compile,这里大家也不必深究,需要有个大概了解即可。