maven原理

maven依赖管理

依赖管理:maven工程对jar包的管理过程

在运行传统web项目工程时,必须将该项目所依赖的一些jar包添加到工程中。当具有相同架构的项目不止一个,那么就需要赋值这份jar包到每一个工程中,那么其占用的空间就会很大。可重用性也很差。

maven开发的web项目jar包不在项目中,而是有一个专门的jar包仓库,而当每一个maven工程编译运行时,会通过jar包坐标找到对应jar包,提高代码可重用性。

maven一键构造

一个项目往往需要经历编译、测试、运行、打包、安装、部署等一系列过程。

构建:指的是项目从编译、测试、运行、打包、安装、部署整个过程都交给maven进行管理

一键构建:maven一个命令来完成整个工作,规范化构建流程:清理、编译、测试、报告、打包、部署

maven安装

  1. 下载

    下载地址:https://maven.apache.org/download.cgi

    下载 apache-maven-3.6.3-bin.zip

  2. 解压(不要由中文)

    bin目录下的mvn文件:用来构建项目

    boot目录下存放maven自身运行的类加载器

    conf目录下settings.xml对maven进行配置

    lib目录下maven自身运行依赖的jar包,继承了tomcat插件

  3. 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
2
3
4
5
6
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</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