智慧生活指南
第二套高阶模板 · 更大气的阅读体验

像整理衣柜一样理清Maven依赖关系

发布时间:2025-12-26 06:30:54 阅读:56 次

家里衣柜乱了,衣服堆成山,找件衬衫都得翻半天。软件项目也一样,当依赖越来越多,没人管就会变成“代码衣柜”里的灾难现场。

依赖就像借来的书,记得还

你从朋友那儿借了三本书,其中一本又推荐你去借另一本,那本还附带两本参考手册。几天后你桌上全是书,有些甚至没翻开过。Maven 项目里的依赖也是这样一层套一层自动带进来的。

比如你引入了一个日志工具,它自己又依赖了别的工具包,这些“间接依赖”也会被自动加进来。时间一长,项目里可能混进了重复、冲突甚至根本用不上的库。

用命令看看都有谁住进了你的项目

打开终端,输入这行命令:

mvn dependency:tree

它会把整个依赖结构像家谱一样列出来。你会发现,原来那个数据库连接组件,偷偷带来了五个没见过的邻居。

排除不需要的“蹭住者”

就像整理书架时把不需要的参考书放回去,你也可以在 pom.xml 里把多余依赖剔除:

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.21</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>

这一段的意思是:我要用 Spring,但不用它自带的日志模块,我自己另有安排。

定期清理,别等出事才动手

有次上线前发现打包出来的 jar 文件突然大了三倍,查了一圈原来是某个测试工具被误加到了主依赖里。从此之后,我们团队定下规矩:每加一个新依赖,先看树,再决定留不留。

和收拾抽屉一样,定期运行 mvn dependency:analyze,它会告诉你哪些依赖没被使用,哪些该出现在 compile 却没出现。

项目整洁了,构建快了,连带着心情也清爽。代码世界的收纳哲学,其实和生活没啥两样——东西要用,但别让它反客为主。