Maven基础知识
Maven是Apache公司的开源项目,用来依赖管理jar包,是构建项目的工具。
Maven的好处
Maven项目中没有jar包,因此项目非常小。
jar包存放在Maven仓库中,每一个jar包都用一个唯一的坐标表示。例如:
Hadoop-2.7.4.jar
Apache(公司名)+Hadoop(项目名)+2.7.4(版本号)
在项目中编写一个文件配置需要的jar包坐标信息,Maven程序根据这些信息可以到Maven仓库中查找到jar包。
对jar包的统一管理,称为依赖管理。
在多个项目开发中,当第一个项目配置好jar包,其它需要同样jar包的项目可以直接继承该项目的配置信息,利用面向对象中复用的思想,极大简化包管理。
Maven实现方式
依赖管理:对项目jar包进行管理;
项目构建:项目编码完成之后,需要进行编译、运行、测试、打包、部署。
可以通过mvn命令将web项目发布到Tomcat上。
Maven安装配置本地仓库
Maven是Java开发的应用程序,需要首先安装Java运行环境,然后在Apache官网下载解压Maven压缩包。
解压之后的文件组织结构以及作用:
文件夹 | 作用 |
---|---|
bin | 可执行的脚本命令 |
conf | 配置文件 |
lib | Maven项目工运行所需要的jar包 |
配置环境变量
MAVEN_HOME:D:\maven\apache-maven-3.3.9
Path:%MAVEN_HOME%\bin;
Path中必须要有JAVA_HOME的环境变量,否则Maven无法运行。
测试:mvn -v
Maven项目首先从电脑本地仓库对应的磁盘上查找对应的jar包。还可以在局域网内搭建私服,位于局域网内的一台服务器上,专门存放jar包。最后是中央仓库,在互联网上,存放着几乎所有的开源jar包,由Maven团队维护。本地仓库也可以直接去中央仓库去下载。
配置本地仓库
可以通过网上下载仓库jar包压缩文件,解压到本地磁盘上,也可以在以后开发项目时需要哪些jar包再进行下载。
在maven\apache-maven-3.3.9\conf\settings.xml
文件中,通过修改<localRepository>
标签里面的路径,指向本地磁盘存放jar包的位置。
Maven项目标准目录结构
文件夹 | 作用 |
---|---|
src | 项目源码 |
pom.xml | Maven项目核心配置文件 |
target | 项目编译生成的目标文件 |
Maven常用命令
前缀:mvn 例如:mvn clean
命令 | 作用 |
---|---|
clean | 清理项目内编译过的class文件,删除target文件夹 |
compile | 编译项目,生成target文件夹,里面是项目对应class文件 |
test | 单元测试,自动对项目进行编译,然后执行测试(类名必须以xxxTest.java结尾,src/test/java/目录下所有测试类都会执行 |
package | 对项目进行打包,自动编译、测试、打包,在target目录下生成一个war包(java项目生成jar包,web项目生成war包) |
install | 安装,对项目自动进行编译、测试、打包、安装到本地仓库。 |
Maven项目的生命周期:在Maven中存在三套生命周期,相互独立,互不影响。每个生命周期对应的命令,执行后边的命令,前边的命令都会自动执行。
生命周期 | 解释 | 相关命令 |
---|---|---|
CleanLifeCycle | 清理生命周期 | clean |
defaultLifeCycle | 默认生命周期 | compile,test,package,install,deploy |
siteListCycle | 站点生命周期 | site |