Trae 提供三种方式识别未引用的第三方依赖:一、依赖图谱分析智能体,基于静态扫描与字节码解析标记无 import/反射引用的 compile/runtime 依赖;二、内置“未使用依赖检测”IDE 模式,轻量级字节码扫描并识别 SPI/ServiceLoader 间接使用;三、SOLO 模式启动三个子智能体交叉验证,仅当源码、SPI 配置、ClassLoader 模拟均无使用证据时才判定高确定性冗余。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用 Trae 进行项目开发时,希望识别出 Maven 或 Gradle 项目中未被实际引用的第三方依赖包,则可能是由于项目结构复杂、模块间调用链不透明,导致部分依赖长期滞留却从未被编译或运行时加载。以下是解决此问题的步骤:
一、使用 Trae 的“依赖图谱分析”智能体
该智能体基于静态代码扫描与字节码解析双路径,自动构建模块间调用关系图,并标记出仅存在于 pom.xml 或 build.gradle 中但无任何 import、Class.forName 或 Spring @Bean 引用的依赖项。它会排除 test scope 和 provided scope 的显式声明依赖,聚焦于 compile/runtime 范围的潜在冗余。
1、在 Trae 主界面右下角点击智能体图标,选择 Dependency Analyzer 智能体。
2、确认当前已打开完整项目根目录,Trae 将自动检测构建类型(Maven/Gradle)并加载所有模块。
3、在聊天框中输入指令:分析全部模块的 compile 作用域依赖,标出无源码引用且未被反射加载的包。
4、等待分析完成,Trae 将以树状结构展示每个被判定为冗余的依赖及其所在模块路径,并附带引用追踪快照(如:未找到对 org.apache.commons:commons-lang3:3.12.0 的任何有效调用)。
二、启用 Trae 内置的“未使用依赖检测”IDE 模式命令
该模式调用 Trae 自研的轻量级字节码扫描器,在不启动 JVM 的前提下遍历 target/classes 和 jar 包内 class 文件,比传统 mvn dependency:analyze 更精准,可识别通过 ServiceLoader、SPI 配置文件间接使用的依赖,避免误删。
1、按下快捷键 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS) 打开命令面板。
2、输入并选择命令:Trae: Detect Unused Dependencies。
3、在弹出的范围选项中,勾选 Include transitive dependencies 以覆盖传递性依赖的冗余判断。
4、执行后,Trae 将在右侧问题面板列出所有候选冗余项,并为每项标注置信度(High/Medium/Low),High 置信度项默认加粗显示。
三、结合 SOLO 模式进行多智能体交叉验证
利用 Trae 3.0 的 SOLO 架构,启动三个子智能体并行工作:一个负责源码级 import 分析,一个扫描 META-INF/services 和 spring.factories,第三个检查运行时 ClassLoader 日志模拟结果。三者结论一致时才标记为高确定性冗余,大幅降低误判率。
1、点击顶部工具栏 SOLO Mode 按钮,选择 Dependency Audit Trio 预设模板。
2、Trae 自动分配三个独立上下文窗口,分别显示 “Import Tracker”、“SPI Resolver”、“ClassLoader Simulator” 的实时分析进度。
3、当三个窗口对同一依赖(例如 com.google.guava:guava:32.1.2-jre)均输出 No evidence of usage found 时,该项将被归入最终报告。
4、点击报告中的 Generate Removal PR 按钮,Trae 自动创建含修改前后对比、影响范围说明及回滚建议的 Git 提交草案。


















