让IntelliJ IDEA理解SBT依赖

10

我已经安装了SBT和Scala,一切都运行良好。

现在我有一个IntellIJ IDEA项目,它的其他方面都能正常工作,但下载到/Users/MyName/.ivy2/cache/中的依赖项却无法被理解。

我尝试将缓存路径设置为源文件夹:

进入图像描述

但仍然存在问题:

进入图像描述

如您所见,org.eclipse显示为红色,这意味着无法找到它。它必须在我左侧显示的那个.jar文件中。

我只想使用SBT更新/下载依赖项,然后使用这些依赖项在IntelliJ IDEA中进行编译。


可能是如何使用IntelliJ Idea创建SBT项目?的重复问题。 - om-nom-nom
1个回答

12

使用 sbt-idea 插件来为 SBT 生成元数据文件。然后你可以在 sbt 命令行中运行 "gen-idea" 命令,它将会生成被 IDEA 使用的元数据文件。这些文件包含了 SBT 使用的 jar 文件的位置信息,以便 IDEA 知道依赖项的位置,就像 SBT 一样。


1
我该如何使用它?我已经设置了 addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.1.0") 并尝试运行 gen-idea,但是我得到了 [error] Not a valid command: gen-idea 的错误提示。 - Tower
1
我的错!我没意识到文件 plugins.sbt 必须放在名为 project 的文件夹下面,我以为是指我的项目文件夹。 - Tower
2
这个会自动更新依赖项吗,当新的依赖项已经添加到build.sbt文件中,还是每次添加到该文件时都需要运行gen-idea? - fohtoh
2
如果我正在使用Idea 12的SBT插件呢? - Alan Coromano
@fohtoh,每次更改build.sbt后,您需要运行sbt gen-idea - krookedking
它对我不起作用。Idea拒绝在项目窗口中使用外部库的依赖项,并将从导入语句中标记的类标记为红色,而sbt编译正常。然而,我可以通过在项目窗口中的External Libraries中ctrl-click进入包中,但Idea拒绝使用包中的类! - WebComer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接