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> 
目录
相关文章
|
14天前
|
缓存 Java Maven
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法!在处理Maven项目问题时,首先检查Maven配置是否正确。接着通过“File--Invalidata Caches”清除IDEA缓存并重启。使用Maven命令`mvn dependency:purge-local-repository`和`mvn dependency:resolve`清除本地依赖缓存。最后,在Terminal中输入`mvn clean install`完成构建。
【简单四步教你解决♥十分有效】Maven依赖报错、依赖或插件导入失败的万能解决办法
|
5月前
|
Java Maven 容器
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
|
2月前
|
Java Maven
maven打瘦包,且只打入部分想打入的依赖瘦包
maven打瘦包,且只打入部分想打入的依赖瘦包 设计 工程结构分析 环境管理 城市资源 安全工程 工程管理
67 10
|
3月前
|
Java API Apache
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
221 2
|
3月前
|
XML 安全 Java
【Maven】依赖管理,Maven仓库,Maven核心功能
【Maven】依赖管理,Maven仓库,Maven核心功能
776 3
|
3月前
|
Java Maven
Maven 依赖管理
Maven 一个核心的特性就是依赖管理。当我们处理多模块的项目(包含成百上千个模块或者子项目),模块间的依赖关系就变得非常复杂,管理也变得很困难。针对此种情形,Maven 提供了一种高度控制的方法。
145 5
|
4月前
|
Java Maven
Maven 引入外部依赖
如果我们需要引入第三方库文件到项目,该怎么操作呢?
59 5
|
5月前
|
安全 Java Maven
优化Maven镜像配置:使用阿里云加速依赖下载
更新Maven镜像配置至关重要,尤其使用阿里云仓库时。在`settings.xml`中加入特定镜像配置可显著提升依赖下载速度。示例配置指定了阿里云镜像ID、替代表态仓库、安全的URL、默认布局及启用版本管理。需定位至用户目录下的`.m2/`文件夹编辑`settings.xml`,添加镜像信息后保存测试。若下载仍慢,考虑网络状况或备选镜像。多镜像设置时需注意避免冲突。
818 3
|
5月前
|
Java 测试技术 Maven
单元测试问题之在Maven项目中引入JUnit 5和Mockito的依赖如何解决
单元测试问题之在Maven项目中引入JUnit 5和Mockito的依赖如何解决
298 1
|
5月前
|
Java Maven
intellij idea如何查看项目maven依赖关系图
这篇文章介绍了如何在IntelliJ IDEA中查看项目的Maven依赖关系图,包括使用Maven工具栏和相关操作来展示和查看依赖细节。