史诗级!有手就会的Maven教程(六)

MAVEN(spring5.0)全套依赖 包括slf4j,log4j,mybatis,commons-io,commons-lang及其他commons,以及mail,junit,generator自动生成相关依赖,mysql等全套依赖 立即下载

Maven 依赖

Maven 中最关键的部分, 使用 Maven 最主要就是使用它的依赖管理功能.

(1) 添加依赖

当 A.jar 包 使用到了 B.jar 包中的某些类时, A 就对 B 产生了依赖.  那么如何在项目中以依赖的方式引入我们需要的 jar 包呢?

就是在 pom.xml 文件中, 使用 dependency 标签 指定被依赖的 jar 包的在本地仓库中的坐标就可以了.

(2) 依赖的范围

<scope> 标签可以设置依赖的范围.  可选值: compile , test , provided , runtime 四个.

依赖范围 scope 用来控制依赖和 编译,测试,运行的 classpath 的关系.

compile: 默认编译依赖范围。对于编译,测试,运行三种 classpath 都有效.  参与打包, 参与部署.

test:测试依赖范围。只对于测试 classpath 有效. 不参与打包和部署.

provided:已提供依赖范围。对于编译,测试的 classpath 都有效,但对于运行无效。 不参与打包和部署.

runtime : 运行时提供.

从项目结构的角度理解 compile 和 test 的不同.

 

对于该项目来说,  主程序是需要 Hello.jar 包中的类的, 测试程序由于要调用主程序, 所以也需要 Hello.jar 包中的类.

所以 Hello.jar 是 compile 范围的依赖, compile 范围的依赖对于主程序和测试程序都应该有效.

而对于 Junit.jar 中的类, 只有在测试程序中才会使用到, 主程序是不需要的.

所以 Junit.jar 是 test 范围的依赖, test 范围的依赖只对于测试有效.

(3) 依赖的传递性

如果项目 A 依赖于项目 B,项目 B 自身依赖于项目 C,那么项目 A 它也依赖于项目 C 的依赖。注意: 这种依赖是基于 compile 这个范围进行依赖的.

 

(4) 依赖传递性的架包冲突问题

 

(5) 统一管理所依赖的 jar 包的版本

对同一个框架的一组jar包最好使用相同的版本。为了方便升级框架,可以将jar包的版本信息统一提取出来

① 统一定义版本号.  标签 spring.version 是自定义标签, 可以写其他的.

② 引用前面声明的 版本号

 

maven资源zip包连接阿里maven库各种包齐全 最全的maven资源包连接阿里资源库包括各大框架包邮件包oss上传包等等 立即下载

相关推荐

最全的maven-3.3.9.zip

可能是最全的maven-3.3.9依赖了,可以下载看看,相信你会部署到自己的java项目中的。如果有问题,可以关注我的博客,我手把手教你导入依赖。请大家共同努力,获得成功!

maven常用依赖大全

【代码】maven常用依赖大全。

Code Writers 3024

使用OpenCV进行3D重建:详细指南

3D重建是计算机视觉领域的一项关键技术,它能够从二维图像中恢复出场景的三维结构。这项技术在机器人视觉、增强现实和3D建模等多个领域都有广泛的应用。在本篇技术博客中,我们将详细介绍如何使用OpenCV这一流行的计算机视觉库来实现3D重建。我们将逐步探讨整个过程,包括相机标定、特征点提取与匹配、立体校正、深度图计算以及最终的三维重建。3D重建是一个复杂的过程,涉及多个步骤和多种算法。OpenCV提供了强大的工具来支持这一过程,从相机标定到特征点提取与匹配,再到立体校正和深度图计算,最后实现三维重建。

weixin_41544125的博客 1321

Maven 常用依赖

maven常用依赖

name_sakura的博客 1077

Openclaw错误分析与解决方案之:Agent couldn‘t generate a response. Please try again.

Openclaw错误分析与解决方案:Agent couldn't generate a response. Please try again.

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 1230

使用强化学习快速让AI学会玩贪食蛇游戏(轻量级二十分钟训练+代码)

如何让AI玩会贪食蛇,甚至比你厉害概述构建问题(强化学习求解的一般步骤)环境动作定义状态定义奖励设计训练奖励值收敛图效果代码 概述 所用技术:强化学习(Deep Reinforcement Learning),属于一种无监督学习,利用奖励rewardrewardreward教会智能体AgentAgentAgent在合适的场景做合适的决策。 采用算法:试过两种算法D3QN和离散版本的PPO算法,最终采用离散版本PPO算法+GAE(PPO是我用过的性能最好的算法之一) 编程语言与深度学习框架:Python3.

ZYunfei的博客 2万+

远古框架-SSH maven配置 (包含gson)

Spring3.2.17+Struts2.3.15+Hibernate3.6.10 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org...

242

PHP 网页游戏开发入门教程

我们还链接了一个名为 “game.js” 的 JavaScript 文件,稍后将在其中编写游戏逻辑。这只是一个简单的示例,但它演示了如何使用 PHP 和 JavaScript 开发一个基本的网页游戏。以下是一个示例游戏的源代码和解释。现在,您可以在浏览器中打开 “game.php” 文件,即可看到一个带有红色游戏角色的游戏板。在上述代码中,我们使用 JavaScript 创建了一个游戏角色元素,并将其添加到游戏板容器中。最后,我们需要将游戏元素的样式设置为绝对定位,以便能够正确地控制它们的位置。

KkowServer的博客 679

maven--常用依赖

日志 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.2</version> </dependency> <dependency&...

IT利刃出鞘的博客 2073

惠普M329打印机更换副厂硒鼓后提示墨粉不足并无法打印

买了一个惠普M329打印机,打印效果不错,速度快,大量复印比较方便。因为最近打印和复印比较多,很快原装墨粉用完了。又买了一个副厂(带芯片)的硒鼓换上。不到一个月,又用光了,这次买了同一个副厂的硒鼓(不带芯片)。将原来的芯片(副厂的)拆下来,装在新硒鼓上。装到M329上以后,打印机依旧是提示墨粉不足。

bigwood99的博客 7685

C++11、C++14 和 C++17 标准新特性详解

特性C++11C++14C++17auto类型推导✅范围 for 循环✅Lambda 表达式✅✅✅智能指针✅移动语义✅nullptr✅统一初始化{}✅✅constexpr✅✅✅✅数字分隔符✅结构化绑定✅✅✅文件系统库✅。

h a 6 6 6 c k 为 你解决复杂难题! 443

maven坐标依赖大全

【代码】maven坐标依赖大全。

benpaodeDD的博客 232

ClaudeCode入门01-环境安装(小白入门:手把手教你配置,超简单的一种接入方式)

文手把手教你从零搭建 Claude Code 开发环境。针对国内网络现状,我们采用 OpenRouter + Claude Code Router 的方案,支持支付宝/微信充值,无需科学上网即可完成配置。内容涵盖 Node.js 安装(macOS/Windows/Linux)、OpenRouter 注册与充值、Claude Code 和 Router 安装配置,以及一键启动脚本的编写。跟着截图一步步操作,10分钟搞定全部环境!

yueyeguzhuo的专栏 282

provided范围maven_史诗级!有手就会的Maven教程(六)

Maven 依赖Maven 中最关键的部分, 使用 Maven 最主要就是使用它的依赖管理功能.(1) 添加依赖当 A.jar 包 使用到了 B.jar 包中的某些类时, A 就对 B 产生了依赖. 那么如何在项目中以依赖的方式引入我们需要的 jar 包呢?就是在 pom.xml 文件中, 使用 dependency 标签 指定被依赖的 jar 包的在本地仓库中的坐标就可以了.(2) 依赖的范围...

weixin_39556811的博客 247

YOLOv13改进策略【特征提取层】| 引入注意力卷积模块RFAConv,关注感受野空间特征 助力yolov13精度提升

RFAConv:创新空间注意力和标准卷积运算感受野空间特征是针对卷积核设计的,根据卷积核大小动态生成。以3×3卷积核为例,它由非重叠滑动窗口组成,每个窗口代表一个感受野滑块。

Limiiiing的博客 363

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

史诗级!有手就会的Maven教程(二)

安装 Maven (1) 前往https://maven.apache.org/download.cgi下载最新版的 Maven 程序: (2) 解压 Maven 程序, 复制到一个非中文无空格的路径下. F:\dev\apache-maven-3.6.1 (3) 配置 Maven 相关的环境变量 系统变量:MAVEN_HOME = F:\dev\apache-maven-3.6.1 系统变量:path = %MAVEN_HOME%\bin MAVEN_HOME: pa...

Java10010的博客 180

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

史诗级!有手就会的Maven教程(三)

Eclipse 中 Maven 插件的设置 Eclipse 中已经内置了 Maven 插件, 但是我们不使用内置的 Maven, 而是使用我们自己安装的那个 Maven, 需要我们对其设置一下. 注意: 这样设置只会对本工作区间有效, 其他的工作区间需要进行同样的设置. (1) Window -> Preferences -> Maven -> Installations. 指定 Maven 核心程序的位置. (2) 点击 Add, 添加我们自己安装的...

Java10010的博客 253

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

史诗级!有手就会的Maven教程(五)

POM POM, Project Object Model 项目对象模型. pom.xml 文件是 Maven 工程最核心的配置文件, 构建过程相关的一切设置都在这个文件中. pom.xml 包含了项目构建的信息, 包括项目的信息、项目的依赖等. pom.xml 文件是可以继承的, 大型项目中, 子模块的 pom.xml 一般都会继承于父模块的 pom.xml. Maven 的坐标 使用 gav 向量在 Maven 的仓库中唯一的确定一个 Maven 工程. 如何通过坐标找到 Ma

Java10010的博客 116

add framework support中没有maven_史诗级!有手就会的Maven教程(三)

Eclipse 中 Maven 插件的设置Eclipse 中已经内置了 Maven 插件, 但是我们不使用内置的 Maven, 而是使用我们自己安装的那个 Maven, 需要我们对其设置一下.注意: 这样设置只会对本工作区间有效, 其他的工作区间需要进行同样的设置.(1) Window -> Preferences -> Maven -> Installations....

weixin_31156651的博客 1492

史诗级!有手就会的Maven教程(八)

Maven 聚合 在开发2个以上模块的时候,每个模块都是一个 Maven Project。比如搜索平台,学习平台,考试平台。 开发的时候可以自己管自己独立编译,测试,运行。但如果想要将他们整合起来,我们就需要一个聚合工程。 (1) 父模块的创建 父模块一般承担聚合模块和统一管理依赖的作用,没有实际代码和资源文件. 父模块就是创建一个普通的 Maven Project , 此处省略. 但是需要注意的是: 父模块的打包方式必须是 pom. (2) 子模块的创建 ① 子模块需要创建为.

Java10010的博客 141

史诗级!有手就会的Maven教程(四)

约定的目录结构 这是 Maven 项目约定的目录结构: 为什么要遵守约定的目录结构呢? Maven 要负责我们这个项目的自动化构建, 以编译为例, Maven 想要自动进行编译, 那么他必须知道 Java 源文件在哪里. 如果我们自己定义的东西想要框架或者工具知道, 那么有两种办法: ① 以 xml 配置文件的方式告诉框架. ② 遵守框架内部已经存在的定义. 手动编写第一个 Maven 工程 (1) 首先先创建约定的目录结构 手动创建 Maven01 文件夹, (作为项目名), 在..

Java10010的博客 155

maven 打包没有生成依赖lib_史诗级!有手就会的Maven教程(一)

Maven 是什么Maven 是一款服务于 Java 平台的自动化构建工具.构建: 构建就是以 “Java源文件”, “框架配置文件”, “JSP” 等资源为 “原材料”, 去 “生产” 一个可以运行的项目的过程.构建过程的各个环节:【1】清理:将以前编译得到的旧的class字节码文件删除,为下一次编译做准备 【2】编译:将Java源程序编程成class字节码文件 【3】测试:自动测试,自动调用j...

weixin_42347739的博客 4170

史诗级!有手就会的Maven教程(十二)

Maven 在 Update Project 时报错 在 项目上右键 -> Maven -> Update Project 的时候, 报错: maven Could not update project SpringBoot-4 configuration java.lang.NullPointerException. 使用的是 Eclipse + Maven. 解决办法: StackOverFlow 有解决方案,地址如下: http://stackoverflow.com/que..

Java10010的博客 261

史诗级!有手就会的Maven教程(十)

使用 Eclipse 创建 Maven 版的 Java 工程 (1) New -> Maven Project 或者 New -> Other -> Maven -> Maven Project (2) 点击 Next, 勾选第一项. 点击 Next. (3) 输入 gav 坐标. 点击 Finsh. 创建 Maven 版的 JavaWeb 工程 (1) 右键 -> new -> maven -> maven proje...

Java10010的博客 150

史诗级!有手就会的Maven教程(一)

Maven 是什么 Maven 是一款服务于 Java 平台的自动化构建工具. 构建: 构建就是以 “Java源文件”, “框架配置文件”, “JSP” 等资源为 “原材料”, 去 “生产” 一个可以运行的项目的过程. 构建过程的各个环节: 【1】清理:将以前编译得到的旧的class字节码文件删除,为下一次编译做准备 【2】编译:将Java源程序编程成class字节码文件 【3】测试:自动测试,自动调用junit程序 【4】报告:测试程序执行的结果 【5】打包:动态Web工程打war包,..

Java10010的博客 323

maven聚合工程打包_史诗级!有手就会的Maven教程(八)

Maven 聚合在开发2个以上模块的时候,每个模块都是一个 Maven Project。比如搜索平台,学习平台,考试平台。开发的时候可以自己管自己独立编译,测试,运行。但如果想要将他们整合起来,我们就需要一个聚合工程。(1) 父模块的创建父模块一般承担聚合模块和统一管理依赖的作用,没有实际代码和资源文件.父模块就是创建一个普通的 Maven Project , 此处省略.但是需要注意的是: 父模块...

weixin_39792747的博客 290
上一篇: 史诗级!有手就会的Maven教程(五)
下一篇: 史诗级!有手就会的Maven教程(七)
Java10010
博客等级 码龄6年 6粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值