Spring Boot 应用程序:如何跟踪依赖特定 jar 来自的确切启动器?

Posted

技术标签:

【中文标题】Spring Boot 应用程序:如何跟踪依赖特定 jar 来自的确切启动器?【英文标题】:Spring boot application: how to trace exact starter which dependency particular jar came from? 【发布时间】:2021-05-13 08:03:44 【问题描述】:

我有一个遗留的 Spring 启动应用程序,它有很多依赖项(标准的 spring 像 web 和自定义用户)每个依赖项都有它自己的依赖项列表等等。在所有这一切的顶部,我看到如下内容:

import org.apache.commons.bla.bla.*

我想追踪它来自哪个特定的依赖项?我看到了

apache.commons.

项目类路径树中的jar(我使用IDEA)但它只显示jar在这里,而不是它来自哪里。

有没有办法追踪依赖链或至少是底层依赖的来源?

【问题讨论】:

gradle dependencies 这能回答你的问题吗? Using gradle to find dependency tree 【参考方案1】:
gradle dependencies

是或多或少可以接受的答案。只需公开整个依赖关系树,然后使用搜索查找可能与 jar 文件具有相似名称的可能依赖关系,然后查看依赖关系链。 如果有更直接的方法,我将不胜感激并作为答案评论,谢谢

【讨论】:

【参考方案2】:

如何准确追踪依赖特定 jar 来自哪个启动器?

CTRL+鼠标点击你想追踪的包。这将使您在依赖关系树中找到相应的依赖关系。

【讨论】:

1) “这会让你找到相应的依赖”——是的,但我需要树依赖的路径。 2)“查看 -> 工具窗口 -> Maven -> 然后展开依赖项” - 这种方式修剪手动搜索并展开所有树。 3) 实际上 gradle 依赖项 - 是我需要的,但感谢您的努力! 但我需要树依赖的路径。 - 你到底是什么意思?第二点是正确的,我错误地为您提供了一个 maven 示例,我将其删除(尽管我确信应该有一个 gradle 的替代窗口)。

以上是关于Spring Boot 应用程序:如何跟踪依赖特定 jar 来自的确切启动器?的主要内容,如果未能解决你的问题,请参考以下文章

依赖于配置文件特定属性的 Spring Boot 属性

调用链系列Zipkin搭建Spring-boot集承

3Spring Boot 核心技术

嵌入式码头服务器的 Spring Boot 数据源特定属性

Docker 中的 Spring Boot

如何将基于 Spring Boot 构建的依赖项使用到典型的 Spring 应用程序中?