更改后如何强制 IntelliJ IDEA 从 build.sbt 重新加载依赖项?

Posted

技术标签:

【中文标题】更改后如何强制 IntelliJ IDEA 从 build.sbt 重新加载依赖项?【英文标题】:How to force IntelliJ IDEA to reload dependencies from build.sbt after they changed? 【发布时间】:2013-12-23 04:43:13 【问题描述】:

我正在使用带有 Scala 插件的 IntelliJ IDEA 13(社区版)。

我最初使用 build.sbt 导入的现有 Scala 项目运行良好。库依赖项由 IDEA 获取。尽管我检查了auto-import 选项,但在初始导入后添加的其他依赖项没有被拾取。

如何强制 IDEA 从 build.sbt 重新加载依赖项?

【问题讨论】:

我的行为与您描述的完全相同,然后它开始工作而我没有做任何事情。我的印象是 sbt 集成现在有点乱,我们只需要耐心等待。 仍然不适合我(2017 年 1 月)。 【参考方案1】:

您可以强制 SBT 重新加载更改: 打开 SBT 工具窗口(在 IDE 右侧)并按刷新按钮。

如果您使用自动导入功能,您需要保存文件以强制自动刷新。

【讨论】:

这里是如何打开 SBT 工具窗口:***.com/questions/32374193/…(以防其他人找不到它) 如何设置自动导入功能?【参考方案2】:

如果插件“卡住”,它有助于使缓存无效(在文件菜单下)并重新启动 intellij。

【讨论】:

【参考方案3】:

截至 2013 年 12 月 7 日,该问题已解决。 您需要更新 IntelliJ IDEA 中的 Scala 插件(这适用于社区版和终极版)。

这是 JetBrains 开发者社区网站上打开的问题的链接: http://devnet.jetbrains.com/thread/451395

【讨论】:

这似乎与原始问题无关。 jetbrains 错误说“从现有的 SBT 项目创建新项目时”。问题是 IntellliJ 有时无法获取最新的库,即使启用了自动导入也是如此。正如@alefas 指出的那样,有时您必须强制重新加载(甚至使用 2018 年的 Scala 插件)。【参考方案4】:

这可能是由于大约 4 或 5 小时前今晚发生的 org.jetbrains:sbt-structure:latest.integration 发布损坏。鉴于您的帖子已有 4 小时的历史...

您可以在idea.log~/Library/Logs/IntelliJIdea13~/Library/Logs/IdeaIC13 on OSX)中查看常春藤活动。

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.jetbrains#sbt-structure;latest.integration: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]          org.jetbrains:sbt-structure:latest.integration (sbtVersion=0.13, scalaVersion=2.10)

我在 JetBrains 开了一张票。

【讨论】:

看起来这是 Ivy latest.integration 的问题,在 sbt 存储库被移动到另一个镜像之后。现在在 Scala 插件 0.26.323 中,它解析为精确的 sbt-structure 插件版本(1.0.2),一切都应该工作。最好的问候,亚历山大 Podkhalyuzin。 @Jeffrey,你能链接到支持票吗?最新的更新现在可以正确添加新的附加依赖项,但不会对现有依赖项的版本进行更改(我必须手动将各种 .iml 和 .idea/libraries/SBT_SBT_.xml 更改为新版本号)。我想跟进那张票。 我的票是SCL-6340的副本【参考方案5】:

已解决 sbt.jetbrains 的错误发布问题。更新 scala 插件将解决此问题 购票:http://devnet.jetbrains.com/thread/451395

【讨论】:

【参考方案6】:

也许这仅适用于某些项目,但就我而言,

在图书馆方面,我在sbtpublishLocal

在库进入的客户端,我单击菜单项Build -> Build (Ctrl-F9),有时,当打开的文件或 Intellisens 不是最新的时,我执行Ctrl-Alt-Y(菜单项File -> Synchronize)来获取反映刷新的代码库的文件。

不必refresh all sbt projects 对我来说更快。

【讨论】:

以上是关于更改后如何强制 IntelliJ IDEA 从 build.sbt 重新加载依赖项?的主要内容,如果未能解决你的问题,请参考以下文章

intellij idea 如何更改编辑器文本字体和大小

如何让 IntelliJ IDEA 在文件的每一端插入一个新行?

在 IntelliJ IDEA 中更改 Git 用户

强制 Intellij IDEA 重新读取所有 maven 依赖项

如何更改 IntelliJ IDEA 默认 JDK?

如何卸载intellij idea community edition 2016.2.4