Maven基于构建阶段分析多余的依赖

基于构建阶段 test compile 实现依赖分析

执行maven 命令: mvn dependency:analyze

关注:Maven-dependency-plugin 分析结果:

[INFO] --- maven-dependency-plugin:2.10:analyze (default-cli) @ impl ---

配置依赖未使用的依赖项:

[INFO] --- maven-dependency-plugin:3.1.2:analyze (default-cli) ---
[WARNING] Used undeclared dependencies found:使用未声明的依赖
[WARNING]    org.springframework.security:spring-security-config:jar:5.5.3:compile
[WARNING]    org.springframework:spring-core:jar:5.3.13:compile
[WARNING]    org.springframework:spring-beans:jar:5.3.13:compile
... 
[WARNING] Unused declared dependencies found:发现未使用的声明依赖

[WARNING]    org.apache.httpcomponents.client5:httpclient5:jar:5.1:compile
[WARNING]    org.apache.commons:commons-jexl3:jar:3.3:compile
[WARNING]    javax.validation:validation-api:jar:2.0.1.Final:compile

...
[INFO] ------------------------------------------------------------------------

分析原理:

基于构建阶段 test compile 实现依赖分析,所以它能分析出来的结果具有一定的局限性。

使用这种方式优势:操作简单,直接在Maven 工程中运行命令即可。

缺点:基于测试和编译阶段来分析,分析出来的结果具有一定的局限性,所以分析出来的结果仅供参考,并不会那么准确。

接下来我将实现一篇 “基于运行时分析多余依赖解决方案”。

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

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

相关文章

Linux基础项目开发day2:量产工具——输入系统

文章目录 前言一、数据结构抽象1、数据本身2、设备本身3、input_manager.h 二、触摸屏编程1、touchscreen.c 三、触摸屏单元测试1、touchscreen.c2、上机测试 四、网络编程netiput.c 五、网络单元测试1、netiput.c2、client.c3、上机测试 六、输入系统的框架1、框架思路2、inpu…

数据库设计与开发—初识SQLite与DbGate

一、SQLite与DbGate简介 (一)SQLite[1][3] SQLite 是一个部署最广泛、用 C 语言编写的数据库引擎,属于嵌入式数据库,其作为库被软件开发人员嵌入到应用程序中。 SQLite 的设计允许在不安装数据库管理系统或不需要数据库管理员的情…

sublime配置(竞赛向)

我也想要有jiangly一样的sublime 先决条件 首先,到官网上下载最新的sublime4,然后在mingw官网上下载最新的mingw64 mingw64官网:左边菜单栏点击dowloads,然后选择MinGW-W64-builds(可能会有点慢)——然后有时候会变成选LLVM-minGW,接着选择…

linux c国际化

一种locale表示一种文化的各种数据的表示或显示方式,一种locale分成多个部分,不同的部分由category表示,每一种category下面定义了很多关键字keyword locale -a 查看所有支持的locale, locale 不带参 查看当前locale的各个categ…

大语言模型怎么写好提示词,看这篇就够了

对于任何输入,大语言模型都会给出相应的输出,这些输入都可以成为提示词,通常,提示词由指令和输入数据组成,指令是任务,输入数据是完成的要求,其中指令应该明确,用词不能模棱两可&…

centos7.9升级rockylinux8.8

前言 查看centos的版本 ,我这台服务器是虚拟机,下面都是模拟实验 升级前一定要把服务器上配置文件,数据等进行备份 [rootlocalhost ~]#cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [rootlocalhost ~]#uname -a Linux jenkins_ser…

【C++进阶】AVL树的实现

1. AVL的概念 AVL树是最先发明的⾃平衡⼆叉查找树,AVL是⼀颗空树,或者具备下列性质的⼆叉搜索树:它的左右⼦树都是AV树,且左右⼦树的⾼度差的绝对值不超过1。AVL树是⼀颗⾼度平衡搜索⼆叉树,通过控制⾼度差去控制平衡…

SLM201A系列24V, 15mA - 60mA单通道线性恒流LED驱动芯片 灯带灯条解决方案

SLM201A系列型号: SLM201A15aa-7G SLM201A20aa-7G SLM201A25aa-7G SLM201A30aa-7G SLM201A35aa-7G SLM201A40aa-7G SLM201A45aa-7G SLM201A50aa-7G SLM201A55aa-7G SLM201A60aa-7G SLM201A 系列产品是用于产生单通道、高…

基于FPGA的以太网设计(一)

以太网简介 以太网(Ethernet)是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问控制的内容。以太网是目前应用最普遍的局域网技术,取代了其他局域网标准如…

【unity小技巧】Unity6 LTS版本安装和一些修改和新功能使用介绍

文章目录 前言安装新功能变化1、官方推荐使用inputsystem进行输入控制2、修复了InputSystem命名错误导致listen被遮挡的bug3、自带去除unity启动画面logo功能4、unity官方的behavior行为树插件5、linearVelocity代替过时的velocity方法待续 完结 前言 2024/10/17其实unity就已…

gitlab:ssh设置

我用的是window,先打开终端: 1、输入 ssh-skygen 执行 然后输入路径,路径地址就是后面括号内的内容 2、然后直接下一步下一步即可,像上面那样就成了 3、打开公钥,复制 4、打开gitlab,在我的 Edit profil…

JUnit 单元测试(详解)

🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

shell脚本宝藏仓库(基础命令、正则表达式、shell基础、变量、逻辑判断、函数、数组)

一、shell概述 1.1 shell是什么 Shell是一种脚本语言 脚本:本质是一个文件,文件里面存放的是特定格式的指令,系统可以使用脚本解析器、翻译或解析指令并执行(shell不需要编译) Shell既是应用程序又是一种脚本语言&…

C++中类间相互引用与析构函数调用的潜在风险及解决方案

C中类间相互引用与析构函数调用的潜在风险及解决方案 一、前言二、举例说明三、问题分析四、解决方案 一、前言 在C中,当两个类A和B之间存在相互引用,并且在A的析构函数中调用B的成员函数,同时B的成员函数又尝试访问A的对象或调用A的成员函数…

《深度学习》Dlib、OpenCV 轮廓绘制

目录 一、Dlib轮廓绘制 1、什么是轮廓绘制 2、步骤 1)导入所需的库和模型 2)加载人脸检测器 3)读取图像 4)人脸检测 5)关键点定位 6)绘制轮廓线条 7)展示结果 二、案例实现 1、完整代码 运…

【华为】静态NAT、动态NAT、NAPT、Easy IP、NAT Server

静态 NAT:将内网主机的私网 IP地址一对一映射到公网 IP 地址。动态 NAT:将内网主机的私有地址转换为公网地址池里面的地址。由于静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或者不发送数据时,与之对应的公有…

Mac 电脑安装redis

1、首先检查电脑是否安装 brew 命令: #打开Mac自带的终端,输入下面命令 brew --version如下图,可以看到我的 brew 正常的,且对应版本是4.0.17-63-g32f2258 如果你的电脑执行上面命名报错:zsh: command not found: br…

一个很恶心但发顶会很牛的方向!【小样本学习+目标检测】

【小样本学习目标检测】致力于通过有限的标注样本实现高效的目标检测,以应对数据匮乏的挑战。这一领域的研究对于缩小人工智能与人类学习系统之间的差异、增强模型对新类别的适应能力、推动智能识别系统在实际场景中的应用具有重要意义。 为了帮助研究人员深入理解…

【可答疑】基于51单片机的智能衣柜(含仿真、代码、报告、演示视频等)

✨哈喽大家好,这里是每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~ 🐱‍🐉这是51单片机毕业设计100篇…

多进程编辑

使用父子进程完成两个文件的拷贝&#xff0c;父进程拷贝前一半&#xff0c;子进程拷贝后一半&#xff0c;两个进程同时进行 #include <myhead.h> int main(int argc, const char *argv[]) {//用于保存pid号pid_t pid -1;//创建子进程pid fork();//打印一下进程号print…