Maven依赖管理

简介: maven是一个管理依赖的工具,我们项目中常用maven来管理jar包,并且可以管理jar包的依赖,有了maven,无论是引用别人的jar包还是自己项目需要打 包都变得极其简单。

一、什么是Maven

maven是一个管理依赖的工具,我们项目中常用maven来管理jar包,并且可以管理jar包的依赖,有了maven,无论是引用别人的jar包还是自己项目需要打 包都变得极其简单。
maven仓库就是存放jar包的仓库,分为本地库、远程库和私有库。
本地库是本地计算机存放jar包的地方,本地仓库需要到私有库去拉取jar包,私有库一般是公司自己存放jar的仓库,会有专门的人员进行维护,远程库就是公有库,里面涵盖了很多的jar包,可以直接下载,但是需要外网权限。

二、Maven安装

超级简单,直接百度,或者访问这个博客:
https://blog.csdn.net/m1234ilu/article/details/84261888

三、坐标

pom.xml里,使用下面三个向量,在仓库中唯一定位一个Maven工程,每一个坐标代表这个工程所在的位置。
groupId 公司或者组织的域名倒序+项目名 com.dfr.TestMaven
artifactId 模块名 Hello
version 版本 0.0.1-SNAPSHOT

四、仓库管理

本地仓库:当前电脑上部署的 仓库目录
私服:架设在局域网环境中,为局域网范围内 的所有Maven工程服务
中央仓库:架设在Internet上,为全世界的Maven工程服务
中央仓库镜像:架设在各大洲,为了分担中央仓库的流量,更快响应用户

五、生命周期

生命周期定义:一套生命周期,就是把许多的构建过程,有序的排列。形成一套有序的构建过程集合。
生命周期特性:无论执行该生命周期的哪个阶段,它前面的所有阶段都会被按顺序执行。
Maven有三套独立的生命周期:
Clean LifeCycle 真正构建前,先清理
Default LifeCycle 核心的构建部分:编译,测试,打包,安装,部署等
Site LifeCycle 生成项目报告,站点,发布站点
以Default 生命周期为例,并列举部分常用的的阶段:compile -> test-compile -> test -> package -> install -> deploy

若执行 test-compile阶段,则真正被执行的有 compile -> test-compi

六、插件和目标

Maven核心程序只是定义了生命周期的各个阶段,以及每个阶段需要去执行哪个插件的哪个模块。

所以真正去执行时,会依赖本地仓库中的插件。Maven核心程序中并没有这些插件。

生命周期阶段 调用插件 调用插件的目标(模块)
compile maven-compiler-plugin compile
test-compile maven-compiler-plugin testCompile

七、依赖的排除

定义:工程A依赖工程B,工程B依赖b.jar。若工程A中不想要b.jar,则需要配置依赖的排除信息。
配置信息

<exclusions>
    <exclusion>
        <groupId></groupId>
        <artifactId></artifactId>
    </exclusion>
</exclusions> 
目录
相关文章
|
3月前
|
存储 Java 测试技术
Maven依赖范围
Maven依赖范围
97 0
|
4月前
|
Java Maven
maven 依赖剔除处理
maven 依赖剔除处理
24 0
|
4月前
|
Java 程序员 应用服务中间件
maven-依赖管理-下
maven-依赖管理-下
49 0
|
4月前
|
存储 Java 测试技术
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
JAVA-MAVEN初学者教程(配置、pom.xml、依赖管理等)
233 0
|
4月前
|
Java Maven
Maven高级-分模块开发和设计及依赖管理
Maven高级-分模块开发和设计及依赖管理
46 0
|
13天前
|
Java 应用服务中间件 Maven
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
11 1
|
17天前
|
Java Maven
SpringMVC常用Maven POM.xml依赖包片段
SpringMVC常用Maven POM.xml依赖包片段
|
1月前
|
Java Maven
Maven【3】( 依赖的范围,传递性和依赖的排除)(命令行操作)
Maven【3】( 依赖的范围,传递性和依赖的排除)(命令行操作)
21 0
|
1月前
|
Java Maven
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
20 0
|
1月前
|
Java Maven
idea的Maven依赖问题
idea的Maven依赖问题

推荐镜像

更多