com.microsoft.sqlserver:sqljdbc4:jar:4.0 was not found产生原因及解决步骤
文章目录
- 问题
- sqlserver 包找不到
- 报错原因分析
- 主要原因
- 解决方案
- 步骤 1:检查 `pom.xml` 中的依赖声明
- 步骤 2:配置 Microsoft 的 Maven 仓库
- 步骤 3:强制更新 Maven 依赖
- 步骤 4:清理本地仓库缓存
- 步骤 5:手动下载并安装 `sqljdbc4.jar`
- 步骤 6:修改 Maven 的 `updatePolicy`(可选)
- 总结
问题
sqlserver 包找不到
springboot项目,maven中 sqlserver依赖找不到
Could not resolve dependencies for project *****:jar:1.0.2: com.microsoft.sqlserver:sqljdbc4:jar:4.0 was not found in https://repo.maven.apache.org/maven2 during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
报错原因分析
该错误的根本原因是 Maven 无法在默认的中央仓库(Maven Central)中找到 com.microsoft.sqlserver:sqljdbc4:jar:4.0 这个依赖。由于在前一次构建尝试时,依赖解析失败,因此 Maven 将这个结果缓存起来,导致后续构建不会再重新尝试解析这个依赖,直到本地缓存过期或手动强制更新。
主要原因
- 依赖不在 Maven 中央仓库:Microsoft 的
sqljdbc4驱动程序并没有托管在 Maven 的中央仓库中,Maven 默认不会从其他仓库(如 Microsoft 的私有仓库)获取该依赖。 - 本地缓存问题:Maven 缓存了前一次解析失败的结果,并不会在下一次构建时重新尝试解析,除非手动更新缓存。
- 仓库配置不完整:
pom.xml文件中缺少对 Microsoft 的私有 Maven 仓库的配置,导致无法正确下载依赖。
解决方案
步骤 1:检查 pom.xml 中的依赖声明
首先,确认你在 pom.xml 中正确添加了 sqljdbc4 依赖。正确的依赖声明应如下所示:
<dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>sqljdbc4</artifactId><version>4.0</version>
</dependency>
步骤 2:配置 Microsoft 的 Maven 仓库
因为 sqljdbc4 并未托管在 Maven 中央仓库,所以你需要手动在 pom.xml 中添加 Microsoft 的私有仓库地址。你可以在 repositories 节点下添加以下配置:
<repositories><repository><id>microsoft</id><url>https://maven.microsoft.com/maven2/</url></repository>
</repositories>
步骤 3:强制更新 Maven 依赖
由于前一次构建尝试的失败结果被缓存,你需要强制更新 Maven 依赖。可以使用 -U 选项来强制更新 Maven 的依赖:
mvn clean install -U
-U 参数会强制 Maven 忽略本地缓存,并从远程仓库重新下载依赖。
步骤 4:清理本地仓库缓存
如果强制更新后依然无法解决问题,可能是本地仓库中的缓存依赖引起的。可以通过以下命令清理本地仓库中的缓存依赖:
mvn dependency:purge-local-repository
这将清除所有本地缓存的依赖项,并重新下载。
步骤 5:手动下载并安装 sqljdbc4.jar
如果上述步骤未能解决问题,你可以手动下载 sqljdbc4.jar 并将其安装到本地 Maven 仓库中:
- 前往 Microsoft 下载中心 下载
sqljdbc4.jar文件。 - 使用以下命令将
sqljdbc4.jar手动安装到本地 Maven 仓库:
mvn install:install-file \-Dfile=/path/to/sqljdbc4.jar \-DgroupId=com.microsoft.sqlserver \-DartifactId=sqljdbc4 \-Dversion=4.0 \-Dpackaging=jar
将 /path/to/sqljdbc4.jar 替换为你本地实际的 sqljdbc4.jar 文件路径。
步骤 6:修改 Maven 的 updatePolicy(可选)
如果你的网络环境较慢或某些代理问题导致更新失败,你可以尝试通过修改 Maven 的 updatePolicy 强制每次构建都检查远程仓库中的更新。在你的 settings.xml 中配置以下内容:
<repositories><repository><id>central</id><url>https://repo.maven.apache.org/maven2</url><snapshots><enabled>false</enabled></snapshots><releases><updatePolicy>always</updatePolicy></releases></repository>
</repositories>
这样做会强制 Maven 在每次构建时检查依赖的更新状态。
总结
- 确认
pom.xml中的依赖配置是否正确。 - 添加 Microsoft Maven 仓库到
pom.xml中。 - 强制更新依赖并清理本地缓存。
- 如有需要,手动下载并安装
sqljdbc4.jar。 - 根据网络环境,调整
updatePolicy以强制更新依赖。
希望对你有所帮助,若有问题欢迎指正~😊
相关文章:
com.microsoft.sqlserver:sqljdbc4:jar:4.0 was not found产生原因及解决步骤
文章目录 问题sqlserver 包找不到 报错原因分析主要原因 解决方案步骤 1:检查 pom.xml 中的依赖声明步骤 2:配置 Microsoft 的 Maven 仓库步骤 3:强制更新 Maven 依赖步骤 4:清理本地仓库缓存步骤 5:手动下载并安装 sq…...
【算法】 滑动窗口—最长无重复子串
“无重复字符的最长子串”,难度为Medium,看下题目: 输入一个字符串 s,请计算 s 中不包含重复字符的最长子串长度。 比如,输入 s "aabab",算法返回2,因为无重复的最长子串是 "ab…...
SpringBoot2:web开发常用功能实现及原理解析-上传与下载
文章目录 一、上传文件1、前端上传文件给Java接口2、Java接口上传文件给Java接口 二、下载文件1、前端调用Java接口下载文件2、Java接口下载网络文件到本地3、前端调用Java接口下载网络文件 一、上传文件 1、前端上传文件给Java接口 Controller接口 此接口支持上传单个文件和…...
Linux:进程状态和优先级
一、进程状态 1.1 操作系统学科(运行、阻塞、挂起) 为了弄明白正在运行的进程是什么意思,我们需要知道进程的不同状态 大多数操作系统都遵循以下原则 1.1.1 运行状态 因为有一个调度器需要确保CPU的资源被合理使用,所以需要维护…...
代码随想录算法训练营day37
1.携带研究材料 1.1 题目 52. 携带研究材料(第七期模拟笔试) 1.2 题解 #include <iostream> #include <functional> #include <vector> using namespace std;int main() {//输入相关信息int classes, cabaity;cin >> classe…...
Java-idea小锤子图标
这一版的idea小锤子图标其实就在这里 点进去就找到了~...
最强神器Typora 2024(亲测有效)| Markdown 工具推荐
听俺讲一下 大家好,我是程序员-杨胡广,今天想给大家分享一个在编写文档时的神器——Typora。相信不少小伙伴都在寻找一款既简洁又强大的 Markdown 编辑工具,而 Typora 无疑是最值得推荐的选择。 当我在大学时偶然发现了它,直到今…...
【时时三省】tessy 单元测试 集成测试 专栏 文章阅读说明
目录 1,关于更新 2,关于文章阅读 3,关于文章分类 1,单元测试 2,集成测试 3,通用便捷操作 4,编译问题集锦 5,需求管理 6,CTE的使用 7,tessy自动化执…...
力扣刷题(6)
两数之和 II - 输入有序数组 两数之和 II - 输入有序数组-力扣 思路: 因为该数组是非递减顺序排列,因此可以设两个左右下标当左右下标的数相加大于target时,则表示右下标的数字过大,因此将右下标 - -当左右下标的数相加小于targ…...
TiDB 扩容过程中 PD 生成调度的原理及常见问题丨TiDB 扩缩容指南(一)
导读 作为一个分布式数据库,扩缩容是 TiDB 集群最常见的运维操作之一。本系列文章,我们将基于 v7.5.0 具体介绍扩缩容操作的具体原理、相关配置及常见问题的排查。 通常,我们根据当前资源状态来决定是否需要调整 TiKV 节点的规模࿰…...
匿名管道详解
进程间通讯的目的 数据传输:一个进程需要把它的数据发送给另一个数据资源共享:多个进程需要共享同样的资源通知事件:一个进程需要向另一个或者一组进程发送消息,通知它发生了某种事件(如进程终止时要通知父进程&#…...
深度解读MySQL意向锁的工作原理机制与应用场景
意向锁 意向锁的概念 意向锁是InnoDB自动添加的一种锁,不需要用户去干预。 是数据库中的一种表级锁,一个事务要给一个资源加锁时,必须要先获取到对应类型的意向锁之后,才可以给这个资源加上自己想要的共享锁或者排他锁࿰…...
ZYNQ TCP 协议的远程更新 QSPI Flash
1 SDK直接少些Flash过程 ****** Xilinx Program Flash ****** Program Flash v2019.1 (64-bit)**** SW Build 2552052 on Fri May 24 14:49:42 MDT 2019** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.WARNING: Failed to connect to hw_server at TCP:127.0.0.1:3…...
告别繁琐粘贴,CleanClip Mac 版,让复制粘贴变得简单快捷!粘贴队列功能太强大了!
告别繁琐粘贴,CleanClip Mac 版,让复制粘贴变得简单快捷! CleanClip for Mac 📋 是一款专为Mac用户设计的高效剪贴板管理工具。它解决了传统复制粘贴过程中的繁琐问题,让你的工作流程更加顺畅和高效。 🔄…...
前端基础知识(HTML+CSS+JavaScript)
文章目录 一、HTML1.1 HTML 基础:1.1.1 HTML 的概念:1.1.2 认识 HTML 标签:1.1.3 HTML 文件基本结构:1.1.4 标签层次结构: 1.2 HTML 快速入门:1.3 HTML常见标签:1.3.1 标题标签:h1-h…...
算力服务器和GPU服务器的区别是什么?
随着互联网科技的快速发展,服务器的类型也变得多种多样了,今天小编就来为大家介绍一下算力服务器和GPU服务器还有他们之间的区别是什么? 算力服务器通常是指具有着较高计算能力的服务器,算力服务器一般都是用于处理大量的计算任务…...
获取Live2d模型
文章目录 1、 Live2D官方示例数据集(可免费下载)2、模之屋3、unity商店4、直接b站搜索5、youtube6、BOOTH完结 1、 Live2D官方示例数据集(可免费下载) 官方提供了一些 Live2D实例模型给大家下载使用 地址:https://ww…...
软考架构-层次架构风格
一、两层C/S架构 客户端和服务器都有处理功能。处理在表示层(客户端)和数据层(服务器)进行 二、三层C/S架构 将处理功能独立出来。表示层在客户机上,功能层在应用服务器上,数据层在数据库服务器上。 三…...
Unity射击游戏开发教程:(35)轰炸敌人
现在敌人和飞机已经慢慢地越来越有各自地地行为了,在本文中,我们将介绍如何创建一个具有以下行为的敌人: 飞机会来回弹跳。飞机将有 4 架无人机轰炸机围绕飞机旋转。无人机轰炸机会偶尔投下沿着屏幕传播的炸弹。如果炸弹击中玩家或在随机时间后就会爆炸。如果炸弹没有击中玩…...
【网络】高级IO——select版本TCP服务器
目录 前言 一,select函数 1.1.参数一:nfds 1.2.参数二: readfds, writefds, exceptfds 1.2.1.fd_set类型和相关操作宏 1.2.2.readfds, writefds, exceptfds 1.2.3.怎么理解 readfds, writefds, exceptfds是输入输出型参数 1.3.参数三…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
WebRTC从入门到实践 - 零基础教程
WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC? WebRTC(Web Real-Time Communication)是一个支持网页浏览器进行实时语音…...
Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
Python的__call__ 方法
在 Python 中,__call__ 是一个特殊的魔术方法(magic method),它允许一个类的实例像函数一样被调用。当你在一个对象后面加上 () 并执行时(例如 obj()),Python 会自动调用该对象的 __call__ 方法…...
无需布线的革命:电力载波技术赋能楼宇自控系统-亚川科技
无需布线的革命:电力载波技术赋能楼宇自控系统 在楼宇自动化领域,传统控制系统依赖复杂的专用通信线路,不仅施工成本高昂,后期维护和扩展也极为不便。电力载波技术(PLC)的突破性应用,彻底改变了…...
