Maven基础学习——依赖管理

news2024/11/15 19:50:37

本专栏主要是记录学习完JavaSE后学习JavaWeb部分的一些知识点总结以及遇到的一些问题等,如果刚开始学习Java的小伙伴可以点击下方连接查看专栏
本专栏地址:🔥JavaWeb
Java入门篇: 🔥Java基础学习篇
Java进阶学习篇(持续更新中):🔑Java进阶学习篇

在这里插入图片描述

文章目录

  • 一、前言
  • 二、依赖配置
    • 1.概述
    • 2.格式
  • 三、依赖传递
    • 1.概述
    • 2.依赖冲突
    • 3.可选依赖
    • 4.排除依赖
  • 四、依赖范围
    • 1.作用范围
    • 2.传递性
  • 五、结语

一、前言

Maven基础中还有依赖没有讲述,这篇文章主要讲述依赖管理

二、依赖配置

1.概述

依赖指当前项目运行所需要的jar,一个项目可以设置多个依赖

2.格式

<!--设置当前项目所依赖的所有jar-->
<dependencies>
	<!--设置具体依赖-->
	<dependency>
		<!--依赖所属群组id-->
		<groupId>junit</groupId>
		<!--依赖所属项目id-->
		<artifactId>junit</artifactId>
		<!-- 依赖版本号-->
		<version>4.12</version>
	</dependency>
</dependencies>

三、依赖传递

1.概述

间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源

直接依赖:在当前项目中通过依赖配置建立的依赖关系
在这里插入图片描述

2.依赖冲突

  • 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高

  • 声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高

  • 声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的

3.可选依赖

对外隐藏当前所依赖的资源

<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>4.12</version>
	<!--设置可选依赖-->
	<optional>true</optional>
</dependency>

4.排除依赖

主动断开依赖的资源,被排除的资源不用指定版本

<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>4.12</version>
	<exclusions>
		<exclusion>
			<!--设置排除依赖-->
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-core</artifactId>
		</exclusion>
	</exclusions>
</dependency>

四、依赖范围

1.作用范围

scope主代码测试代码打包范例
compile(默认)log4j
testjunit
providedservlet-api
runtimejdbc

2.传递性

行是直接依赖,列是间接依赖

compiletestprovidedruntime
compilecompiletestprovidedruntime
test
provided
runtimeruntimetestprovidedruntime

五、结语

接下来将总结生命周期与插件相关知识点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/188531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

18个 SpringBoot项目中遇到的BUG,你试试

有人说&#xff1a;一个人从1岁活到80岁很平凡&#xff0c;但如果从80岁倒着活&#xff0c;那么一半以上的人都可能不凡。 生活没有捷径&#xff0c;我们踩过的坑都成为了生活的经验&#xff0c;这些经验越早知道&#xff0c;你要走的弯路就会越少。 1.启动项目的时候报错 1.E…

从零到一,臻于至善|网易邮箱基于StarRocks 开发大数据平台的实践

作者&#xff1a;网易邮箱 黄贤康。现任职网易邮件事业部资深数据开发工程师&#xff0c;作为主要开发人员参与网易邮箱大数据平台的建立、优化、重构等工作&#xff0c;并取得相当的成效。他长期从事服务端应用及大数据领域的架构研发工作&#xff0c;对相关领域的底层架构、开…

什么是一站式人力资源管理系统?

首先什么是人力资源管理系统&#xff1f;简单来讲&#xff0c;人力资源管理系统就是帮助企业人力资源部门进行日常管理的辅助工具。人力资源部门通常需要负责企业员工管理的各个方面&#xff0c;无论是招聘&#xff0c;培训&#xff0c;考勤还是薪资绩效&#xff0c;都需要企业…

Jmeter使用手册

Jmeter使用手册Jmeter使用手册1.Jmeter安装教程下载地址Jmeter环境变量配置启动应用实例1.Jmeter安装教程下载地址https://jmeter.apache.org/download_jmeter.cgiJmeter环境变量配置新建变量名称:JMETER_HOME值为:D:\work_tools\apache-jmeter-5.5添加到path:%JMETER_HOME%\bi…

服务器应该如何做好防护以及被攻击之后如何处理

服务器是每个软件运行的基础&#xff0c;也是运行过程中最重要的一部分&#xff0c;所以在运行的过程中&#xff0c;服务器会受到黑客的不法攻击&#xff0c;那么服务器我们应该如何做好防护以防被攻击呢&#xff01;接下来小蚁君给大家一一讲解。首先可以安装最新的安全补丁&a…

仪表板展示 | DataEase看中国:数据呈现中国能源发展情况

背景介绍 能源是经济发展的基石&#xff0c;能源的供给与人们生活和经济发展息息相关。二十大报告强调&#xff1a;“要积极稳妥推进碳达峰碳中和&#xff0c;立足我国能源资源禀赋&#xff0c;坚持先立后破&#xff0c;有计划分步骤地实施碳达峰行动。深入推进能源革命&#…

Elasticsearch使用篇 - 更新文档

更新的内部机制 注意&#xff1a;实际使用 murmurhash 算法 注意&#xff1a;更新任何一个字段都是全部删除。并发更新操作之间无事务隔离保证&#xff0c;会产生数据错位问题。 更新操作 1、单条覆盖更新 1、覆盖式更新&#xff0c;由客户端完成所有数据的组装&#xff0c;…

35. 实战:Python实现视频去水印(文末源码)

目录 前言 目的 思路 代码实现 1. 请求URL&#xff0c;查看源代码 2. 源代码中没有就去抓包工具 3. 拿到视频源链接&#xff0c;继续检索来源 4. 拿到数据和链接&#xff0c;二进制写入到本地 完整源码 运行效果 总结 前言 我们在刷某短视频平台时&#xff0c;有些…

SpringCloud搭建微服务之Vault密钥管理

1. 概述 Vault是一款管理密钥和保护敏感数据的组件&#xff0c;用于保护、存储和严格控制对令牌、密码、证书和加密密钥的访问&#xff0c;可以使用UI客户端、CLI和HTTP API访问密钥和其他敏感数据。更多详细介绍&#xff0c;可以参阅vault官网 2. Vault下载与安装 本文以wi…

【Python学习笔记】6. Python3 基本数据类型(下)——列表、元组、集合、字典、数据类型转换

前言 本文介绍Python3基本数据类型——列表、元组、集合、字典、数据类型转换。 List&#xff08;列表&#xff09; List&#xff08;列表&#xff09; 是 Python 中使用最频繁的数据类型。 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同&#xff0…

MySQL存储结构

数据结构 数据结构可视化&#xff1a;https://www.cs.usfca.edu/~galles/visualization/ 树 二叉树缺点&#xff1a; 单边节点过多时无法提高效率 红黑树&#xff1a; 具有平衡功能的二叉树&#xff0c;解决了单边节点过多导致的效率无法提高的问题&#xff0c;缺点是平衡算法…

移动端 自适应布局方案

文章目录DPRrem布局实现机理优点缺点相关技术方案viewport 布局优点缺点相关技术方案媒体查询等比缩放原理DPR DPR 设备物理像素 / CSS像素 DPR 2 为例&#xff0c;把 4&#xff08;2x2&#xff09;个物理像素当一个 CSS 像素使用 rem布局 rem 就是相对于根元素 html 的…

【正点原子FPGA连载】第二十章Linux图形化配置及其原理 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南

1&#xff09;实验平台&#xff1a;正点原子MPSoC开发板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id692450874670 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十章Linux图…

Python获取信用企业的数据

文章目录前言一、需求二、分析三、测试运行前言 本系列文章来源于真实的需求本系列文章仅供学习参考本系列文章你来提我来做 one:Leave a message at the end of the article two:Get wechat contact information 一、需求 需求 URL&#xff1a;https://szxt.zjamr.zj.gov.cn…

如何保持线上安全:你们的个人网络安全指南

在互联网上保持安全的最佳做法。 我们之前写过关于保护你们的加密资产的文章——你们可以在此处查看我们的加密操作安全指南。现在是时候准备一组更通用的提示来帮助你们保持线上安全。我们知道你们可能大部分的购物都是在网上进行的&#xff0c;我们真的不希望你们被黑客攻击。…

HTB_Funnel_ssh隧道转发

文章目录信息收集hydra ssh 暴破ssh 隧道转发 postgresql 流量postgresql 使用动态端口转发信息收集 nmap -sC -sV 10.129.143.249 账号密码 Anonymous:ftp 发现两个文件&#xff0c;下载 默认密码 funnel123#!# 一封邮件 邮箱名可能是用户名 hydra ssh 暴破 hydra -L userna…

Redis_主从复制

一、介绍主机数据更新后根据配置和策略&#xff0c;自动同步到备机的master/slaver机制&#xff0c;Master以写为主&#xff0c;Slave以读为主。二、作用读写分离&#xff0c;性能拓展容灾快速恢复&#xff08;一主多从&#xff09;三、搭建配置1、创建/myredis文件夹2、复制Re…

一篇五分生信临床模型预测文章代码复现——FIgure 9.列线图构建,ROC分析,DCA分析 (二)

之前讲过临床模型预测的专栏,但那只是基础版本,下面我们以自噬相关基因为例子,模仿一篇五分文章,将图和代码复现出来,学会本专栏课程,可以具备发一篇五分左右文章的水平: 本专栏目录如下: Figure 1:差异表达基因及预后基因筛选(图片仅供参考) Figure 2. 生存分析,…

【GPLT 二阶题目集】L2-041 插松枝

人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上&#xff0c;做成大大小小的松枝。他们的工作流程&#xff08;并不&#xff09;是这样的&#xff1a; --->每人手边有一只小盒子&#xff0c;初始状态为空。 --->每人面前有用不完的松枝干和一个推送器&#xf…

[NSSRound#7 Team]Web学习

系列文章目录 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录系列文章目录一、ecRCE二、Shadowflag三、[NSSRound#7 Team]新的博客四、[NSSRound#7 Team]0o0提示&#xff1a;以下是本篇文章正文内容&#xff0c;下…