如何通过jar包得知maven坐标,以及如何替换依赖的依赖的版本

news2025/7/27 22:20:03

问题一:我只能得到这个jar包的名字,如果得知这个jar包的maven坐标(groupId以及artifactId)?

思路1:将jar包的名字(去除版本号)在mvn仓库中搜索,地址:https://mvnrepository.com/,看能不能找到

思路2:反编译这个jar包,使用JD-GUI反编译工具
在这里插入图片描述
思路3:如果已经在IDEA中,直接定位到当前jar包的位置,
在这里插入图片描述

问题二:多模块的java工程中,存在一些依赖冲突,会出现多版本的依赖,比如当前模块1依赖A,A依赖B,当前模块2依赖C,C依赖B的另一个版本,这样打包的过程中会存在多个版本的B,如何解决?

子问题1:究竟是哪些依赖引入了B呢?需要找到是哪些依赖引入B

思路:使用maven命名查找
比如查找com.fasterxml.jackson.core:jackson-databind这个依赖有哪些依赖引入,使用maven命令:

mvn dependency:tree -Dverbose -Dincludes=com.fasterxml.jackson.core:jackson-databind

使用这个命令就能找到所有的引入com.fasterxml.jackson.core:jackson-databind依赖的引入路径。
在这里插入图片描述
从结果中可以看到是哪个模块,哪个依赖引入的,以及依赖引入的scope,注意provided不会打包进去,解决这个问题应该是从最基础的模块开始解决。

子问题2:接上一个问题的解答,现在我们已经知道了有很多其他的依赖引入了B的不同版本,由于B的老版本存在CVE漏洞,那么需要升级这个依赖的版本,如何做?

思路:首先需要排除掉多余的依赖引入,可以在相关的依赖上用

<dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>3.0.3</version>
             <!-- 排除低版本的依赖  -->
            <exclusions>
                <exclusion>
                    <artifactId>jackson-annotations</artifactId>
                    <groupId>com.fasterxml.jackson.core</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>jackson-core</artifactId>
                    <groupId>com.fasterxml.jackson.core</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>jackson-databind</artifactId>
                    <groupId>com.fasterxml.jackson.core</groupId>
                </exclusion>
            </exclusions>
        </dependency>
         <!-- 引入高版本的依赖  -->
         <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${jackson.version}</version>
        </dependency>

IDEA有dependency Analyzer工具,可以方便解决jar包依赖冲突,排除后引入新版本的依赖即可
在这里插入图片描述

另:在maven中央仓库中可以看到哪些版本没有漏洞,可以选择一个没有漏洞的版本进行替换,平时在引入依赖的时候也可以查看这里,避免引入有漏洞的版本。

在这里插入图片描述

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

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

相关文章

从ChatGPT出发:大模型与自然语言模型

目录引言基石故事的开始&#xff1a;Transformer异姓兄弟&#xff1a;GPT、Bert与GPT-2GPTBertGPT-2大力出奇迹&#xff1a;GPT3模型的进化&#xff1a;InstructGPTChatGPT代码库TransformerGPT-2GPT-3InstructGPT未来的工作安全性&有效性算力与标注代价的平衡参考文献引言…

LeetCode——2357. 使数组中所有元素都等于零

一、题目 给你一个非负整数数组 nums 。在一步操作中&#xff0c;你必须&#xff1a; 选出一个正整数 x &#xff0c;x 需要小于或等于 nums 中 最小 的 非零 元素。 nums 中的每个正整数都减去 x。 返回使 nums 中所有元素都等于 0 需要的 最少 操作数。 来源&#xff1a;力…

2023年2月《中国数据库行业分析报告》正式发布(含精彩内容概览)

为了帮助大家及时了解中国数据库行业发展现状、梳理当前数据库市场环境和产品生态等情况&#xff0c;从2022年4月起&#xff0c;墨天轮社区行业分析研究团队出品将持续每月为大家推出最新《中国数据库行业分析报告》&#xff0c;持续传播数据技术知识、努力促进技术创新与行业生…

TongWeb8中应用常见异常

问题一&#xff1a;cookie异常字符报错如下 2022-06-14 11:07:31 [WARN] - java.lang.IllegalArgumentException: An invalid domain [.test.com] was specified for this cookie 2022-06-14 11:07:31 [WARN] - at com.tongweb.web.util.http.Rfc6265CookieProcessor.valida…

力扣-查询近30天活跃用户数

大家好&#xff0c;我是空空star&#xff0c;本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目&#xff1a;1141. 查询近30天活跃用户数二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.其他总结前言 一、题目&…

switch自定义样式

效果图&#xff1a; 圆点thumb &#xff08;selector_switch_thumb&#xff09; <?xml version"1.0" encoding"utf-8"?> <selector xmlns:android"http://schemas.android.com/apk/res/android"><!--switch按钮圆thumb的样式-…

ChatGPT爆火:AI崛起,这些职场人的机遇到了?

ChatGPT最近真的被全球吃瓜群众玩坏了&#xff01; 回答情感问题&#xff0c;编写代码&#xff0c;撰写slogan或脚本&#xff0c;甚至还被用于毕业生论文…… 这个连马斯克都由衷地称赞的ChatGPT&#xff0c;是一种全新的聊天机器人模型。上线2个月&#xff0c;就拥有了上亿活…

从零开始的机械臂yolov5抓取gazebo仿真(环境搭建篇上)

ubuntu18.04双系统以及ROS-melodic&moveit!安装 ubuntu18.04双系统安装 既然要用ubuntu来跑深度学习了&#xff0c;那肯定是要摒弃双系统的&#xff0c;虚拟机是真的带不动。 安装教程网上有很多&#xff0c;这里贴一个我参考的安装教程&#xff0c;和镜像下载地址&…

深度学习笔记:误差反向传播(2)

反向传播上一章内容可见http://t.csdn.cn/SHW3m 1 激活函数的反向传播 ReLU ReLU函数在x > 0的时候返回x&#xff0c;在X < 0的时候返回0。对该函数求导可得∂y/∂x 在x > 0时为1&#xff0c;在x < 0时为0 class Relu:def __init__(self):self.mask Nonedef …

【架构师】零基础到精通——架构演进

博客昵称&#xff1a;架构师Cool 最喜欢的座右铭&#xff1a;一以贯之的努力&#xff0c;不得懈怠的人生。 作者简介&#xff1a;一名Coder&#xff0c;软件设计师/鸿蒙高级工程师认证&#xff0c;在备战高级架构师/系统分析师&#xff0c;欢迎关注小弟&#xff01; 博主小留言…

Pycharm远程连接服务器配置常见问题

说明&#xff1a;配置过程中两个地方容易出错&#xff01;&#xff01;&#xff01; pycharm远程连接服务器完整教程_hehedadaq的博客-CSDN博客_pycharm远程 可参考该网址&#xff0c;但是在该过程中注意&#xff1a; 其他功能&#xff1a; 打开服务器的terminal(可开多个)&…

Spring源码分析:创建 BeanDefinition 流程

一、前期准备1.1 环境依赖<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.1.7.RELEASE</version></dependency><dependency><groupId&…

CentOs8 安装Jenkins一系列问题总结

CentOs8 安装 Jenkins 总结 文章目录CentOs8 安装 Jenkins 总结一、版本&安装二、Jenkins配置1. 配置 Java 路径2. 配置用户名称(一定要改成root&#xff01;&#xff01;&#xff01;)3. 启动 &停止& 重启 Jenkins 命令1. 启动2. 停止3. 重启三、成功四、问题记录…

同事每天早下班,原来是用了这8个开发工具

引言 工欲善其事必先利其器&#xff0c;说的就是工匠要想更加高效的做事情&#xff0c;就得先将工具变得锋利。那么对于程序员来说同样也是如此&#xff0c;如果要想每天早点下班&#xff0c;就必须借助于一些开发工具来提高自己的工作效率&#xff0c;今天慕枫就给大家总结一…

【手撕源码】vue2.x双向数据绑定原理

&#x1f431; 个人主页&#xff1a;不叫猫先生 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域新星创作者、阿里云专家博主&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; &#x1f4ab;系列专栏&#xff1a;vue3从入门…

Teradata在华落幕,国产化崛起,袋鼠云数栈会是更好的选择吗?

2月15日&#xff0c;数仓软件巨头Teradata宣布根据其对中国当前和未来商业环境的慎重评估&#xff0c;将逐步结束在中国的直接运营&#xff0c;后续进入中国公司的关闭程序。 一石激起千层浪&#xff0c;这一消息&#xff0c;在国内的To B市场引起了广泛关注。Teradata这家进入…

mongoDB的安装与使用

MongoDB安装MongoDB官方网站&#xff1a;https://www.mongodb.com/try/download/community-kubernetes-operator2软件安装权限不足&#xff1a;https://www.javaclub.cn/database/56541.htmlstep1:打开安装包直接点击Nextstep2&#xff1a;继续点击Nextstep3&#xff1a;点击自…

Oracle 12C以上统计信息收集CDB、PDB执行时间不一致问题

文章目录前言一、统计信息窗口期调查二、时区调查三、查询alert记录四、why Database Statistic Collection Job is running two times inside a Maintenance Window?五、Default Scheduler Timezone Value In PDB$SEED Different Than CDB六、总结前言 在实际工作中发现一个…

Tina_Linux_功耗管理_开发指南

Tina Linux 功耗管理开发指南 1 概述 1.1 编写目的 简要介绍tina 平台功耗管理机制&#xff0c;为关注功耗的开发者&#xff0c;维护者和测试者提供使用和配置参考。 1.2 适用范围 表1-1: 适用产品列表产品名称内核版本休眠类型参与功耗管理的协处理器R328Linux-4.9NormalS…

ESP32设备驱动-MLX90393磁场传感器驱动

MLX90393磁场传感器驱动 文章目录 MLX90393磁场传感器驱动1、MLX90393介绍2、硬件准备3、软件准备4、驱动实现1、MLX90393介绍 MLX90393 磁场传感器可以在运行时重新编程为不同的模式和不同的设置。 该传感器使用 Melexis 专有的 Triaxis 技术提供与沿 XYZ 轴感应的磁通密度成…