更改后如何强制 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】:也许这仅适用于某些项目,但就我而言,
在图书馆方面,我在sbt
:publishLocal
在库进入的客户端,我单击菜单项Build -> Build (Ctrl-F9)
,有时,当打开的文件或 Intellisens 不是最新的时,我执行Ctrl-Alt-Y
(菜单项File -> Synchronize
)来获取反映刷新的代码库的文件。
不必refresh all sbt projects
对我来说更快。
【讨论】:
以上是关于更改后如何强制 IntelliJ IDEA 从 build.sbt 重新加载依赖项?的主要内容,如果未能解决你的问题,请参考以下文章
如何让 IntelliJ IDEA 在文件的每一端插入一个新行?