1 maven是什么?
maven是一个项目管理工具
maven都有自己的版本定义和规则
pom文件就是maven工程的标志性文件,有pom文件才是一个maven的工程项目
pom文件的版本就是maven的版本,项目的父pom中,如下图,就是1.0快照版
maven支持多种程序应用类型
maven的工具集就是maven的生命周期,如下图,有多少个工具集就有多少个生命周期,对于Java而言就是:构建、编译代码、打包、安装到本地仓库、test、deploy(发布)…
maven输出物管理:开发时想用别人的包、把自己的包提供给别人使用时可以用maven输出
maven的依赖关系
例如主pom中的每个依赖都对应一个jar包文件:之间的就是一个jar包文件
maven的生命周期(就是上面的工具集的图)
验证(validate) - 验证项目是否正确,所有必要的信息可用(可忽略)
编译(compile) - 编译项目的源代码;相当于:xxx.java文件——>xxx.class文件;编译成功的文件都在下图的target文件里
测试(test) - 使用合适的单元测试框架测试编译的源代码。这些测试不应该要求代码被打包或部署;可以执行单元测试的
打包(package) - 采用编译的代码,并以其可分配格式(如JAR)进行打包;Java常用的是2种包:jar、war一般Java的传统web工程都是使用war包,正常依赖的包都是jar包
验证(verify) - 对集成测试的结果执行任何检查,以确保满足质量标准
安装(install) - 将软件包安装到本地存储库中,用作本地其他项目的依赖项
部署(deploy) - 在构建环境中完成,将最终的包复制到远程存储库以与其他开发人员和项目共享
这里最核心的就是对jar包的管理
jar包是用于存放编译好的class文件,都是别人写好的,我们可以直接用,pom文件中的依赖是真正要存放于本地的jar包
例:System.out.println就是一个jdk自带的jar包,我们可以直接使用
我们为什么要使用maven项目
我们一般写一个项目要引用几十甚至上百个包,如果不用maven管理,那就要一个一个的添加这些jar包
用maven管理,就只需要在pom文件中配置,maven会自动从远程仓库下载下来该jar包放在pom文件所在工程里
maven的版本规范
pom文件引入的包中如下图
groupId:相当于xxx路
artifactId:相当于xxx街道
version:相当于门牌号
这3个加起来就是一个坐标地址,就能在远程仓库找到对应的jar包,自动下载到本地
maven的标准工程结构有什么?
src:原代码,该目录下有2个子目录:main、test
main目录:放主代码(业务代码)、配置文件
test目录:放测试代码
maven工程默认支持单元测试的,所以会带一个test目录
本地仓库:
在setting文件中可以修改本地仓库,不修改会有一个默认地址C:\Users\Administrator.m2
这个文件里放的就是通过maven下载下来的所有文件,从远程下载下来在工程中使用的包都能在.m2文件中找到
例如下图中的jar包地址
maven会将pom文件中引的包从远程仓库下载到本地仓库然后加到本工程要使用的classpath里
配置远程仓库地址:是因为国外的仓库地址下载慢,pom文件里配置国内阿里云的仓库地址,会下载快一点将灰色从国外地址下载的换成下方阿里云的地址
idea中如何安装一个插件
File——setting——plugins——Browse repositories…——搜索要安装的插件——安装