Skip to content

Latest commit

 

History

History
102 lines (60 loc) · 4.43 KB

README-CN.md

File metadata and controls

102 lines (60 loc) · 4.43 KB

Sbt Dependency Analyzer for IntelliJ IDEA

logo

Build Version JetBrains Plugin Downloads

中文 | English

如果你喜欢这个项目,或者对你有用,点击右上角 ⭐️ Star 支持下吧~

特性

本插件从 IntelliJ IDEA 2023.1(Community、Ultimate 或 Android Studio) 开始支持

  • 查看依赖树
  • 显示冲突
  • 搜索依赖
  • 显示模块间依赖关系
  • 查看 JAR 包大小
  • 依赖定位
    • 点击后将跳转到该依赖在build.sbt中的位置
    • 仅对用户定义依赖可用
  • 依赖排除(实验性)
    • 选中用户定义依赖下的传递依赖,表示排除;选择中用户定义依赖本身,表示删除该依赖
    • 版本0.5.0-242.21829.142及以上支持

使用说明

此插件首次分析失败时将自动生成 project/sdap.sbt 文件,并在其中插入一行 addDependencyTreePlugin (或 addSbtPlugin(...) )。 请勿修改或删除 project/sdap.sbt 文件。

此插件依赖于 sbt-dependency-tree,这是一个第三方插件,但现在已默认集成到 sbt 中(尽管默认情况下未启用,详见 sbt 问题)。

让我们看看如何使用它!

默认快捷键: Ctrl + Shift + L

image

更多细节

该插件使用以下 sbt 命令。但请放心,插件已经优化,以尽量减少执行的次数:organizationmoduleNamedependencyDotreloadupdate

高级设置

如果不确定,您可以安全地跳过这些配置!

通过使用配置,可以显著减少分析等待时间:

settings

文件缓存超时

如果依赖文件(.dot)在最近3600秒(默认值)内没有修改过,插件将继续使用存在的文件来分析,否则将重新执行dependencyDot命令,这是一定程度上的缓存,但在项目首次打开分析图时,缓存可能不生效。

组织ID

如果您指定了此值,则将不再使用 organization 命令获取项目的组织ID。

禁用作用域

如果不需要分析所有作用域,只需禁用您不想要分析的作用域。

配置是持久的,并与每个 IntelliJ 项目相关联。

与其他插件一样,此插件具有自己的存储位置,即 .idea/bitlap.sbt.dependency.analyzer.xml。删除此文件将清除缓存。

问题排查

"Caused by: java.io.IOException: Could not create lock for ..."

由于插件需要使用 sbt shell,打开依赖分析视图并随后使用 IntelliJ IDEA 重新加载或构建项目可能会导致以下问题:

Caused by: java.io.IOException: Could not create lock for \\.\pipe\sbt-load5964714308503584069_lock, error 5

为避免此问题,使用 sbt shell 来重新加载或构建项目:

settings

无法分析模块之间的依赖关系?

请确保您已应用了以下配置之一,以帮助识别正确的模块:

  • 高级设置 中已配置 organization
  • build.sbt 中使用 ThisBuildinThisBuild 设置了 organization 值。

注意:不在根项目的dependsOn中的子模块不会被分析,依赖为空。

特别感谢

本项目使用 JetBrains IDEA 开发。 感谢 JetBrains 提供的免费许可证。

IntelliJ IDEA logo.