maven依赖管理
依赖管理:maven工程对jar包的管理过程
在运行传统web项目工程时,必须将该项目所依赖的一些jar包添加到工程中。当具有相同架构的项目不止一个,那么就需要赋值这份jar包到每一个工程中,那么其占用的空间就会很大。可重用性也很差。
maven开发的web项目jar包不在项目中,而是有一个专门的jar包仓库,而当每一个maven工程编译运行时,会通过jar包坐标找到对应jar包,提高代码可重用性。
maven一键构造
一个项目往往需要经历编译、测试、运行、打包、安装、部署等一系列过程。
构建:指的是项目从编译、测试、运行、打包、安装、部署整个过程都交给maven进行管理
一键构建:maven一个命令来完成整个工作,规范化构建流程:清理、编译、测试、报告、打包、部署
maven安装
下载
下载地址:https://maven.apache.org/download.cgi
下载 apache-maven-3.6.3-bin.zip
解压(不要由中文)
bin目录下的mvn文件:用来构建项目
boot目录下存放maven自身运行的类加载器
conf目录下settings.xml对maven进行配置
lib目录下maven自身运行依赖的jar包,继承了tomcat插件
maven环境变量配置
右击我的电脑—-》属性—–》高级系统设置—–》环境变量—–》
- 系统变量中新建:变量名MAVEN_HOME,变量值maven解压后的目录,点击确定
- 编辑系统变量的PATH:新建 %MAVEN_HOME%\bin
- 注意在系统变量中有JAVA_HOME
打开cmd命令窗口,运行mvn -v,可以看是否安装好maven
maven仓库种类和关系
在settings.xml中设置了默认的本地仓库路径:${user.home}/.m2/repository(C:\Users\用户\ .m2)
也可以自己设置本地仓库路径:<localRepository>设置路径</localRepository>
1 | <!-- localRepository |
仓库分三类:本地仓库、远程仓库、中央仓库
默认情况下:当启动maven工程时默认在上面的本地仓库路径中找jar包。如果电脑联网,本地找不到jar包,会自动从中央仓库下载jar包。
在公司中:首先可以采用本地上传jar包的方式。中央仓库放置了几乎所有开源的jar包。实际开发中maven不会使用全部jar包,为了保证不联网的状况下可以开发项目,以及统一放置所需要的jar包,会再创建一个远程仓库(私服)。当远程仓库和自己的电脑在一个局域网下,就可以直接访问远程仓库下载jar包,若远程仓库没有所需要的jar包,会去中央仓库下载jar包。
maven项目标准目录
src/main/java:核心代码
src/main/resources:配置文件
src/test/java:测试代码
src/test/resources:测试配置
src/main/webapp:页面资源、js,css,图片等
maven生命周期
maven有三个生命周期:清除生命周期、默认生命周期、站点生命周期
清除生命周期:清楚项目编译信息 mvn clean
默认生命周期:编译(mvn compile)、测试(mvn test)、打包(mvn package)、安装(mvn install)、部署(mvn deploy)
maven概念模型
项目对象模型 (Project Object Model)
一个 maven 工程都有一个 pom.xml 文件,通过 pom.xml 文件定义项目的坐标、项目依赖、项目信息、
插件目标等。
依赖管理系统(Dependency Management System)
通过 maven 的依赖管理对项目所依赖的 jar 包进行统一管理。
比如:项目依赖 junit4.9,通过在 pom.xml 中定义 junit4.9 的依赖即使用 junit4.9