如何将SBT类附加到Intellij Idea?

3

我有一个可能很傻的问题。我想在IntelliJ Idea中编写SBT构建脚本(Build.scala),但IDE无法识别SBT类(Build,Project等)。我已将sbt-launch.jar附加到项目中,但没有任何更改,因为sbt-launch.jar不包含这些类。我该怎么做才能让这个工作?


现在使用最新的IntelliJ IDEA 13.x应该没问题了,因为它已经内置了SBT支持。具体可以参考这篇文章:http://blog.jetbrains.com/scala/2013/11/18/built-in-sbt-support-in-intellij-idea-13/。 - Jacek Laskowski
3个回答

1

他正在询问需要引用哪些jar文件来编辑SBT *.scala构建文件,而不是如何在Intellij中构建SBT项目。我也在尝试让同样的事情正常工作。 - Bryan Hunt
你试过了吗?这个插件是包含所有sbt jars的最简单方法。 - Sergey Passichenko
1
我使用那个插件。我认为你误解了他想做的事情。他想要对*Project.scala文件进行代码完成/验证。 - Bryan Hunt

0

你需要附加的是已下载的SBT库,而不是SBT启动器。 SBT启动器JAR将SBT和Scala下载到不同的目录中。

我还建议使用sbt-idea插件,而不是尝试自己设置项目。但如果您仍然想自己完成,则将以下JAR文件添加到您的Intellij模块中:

<boot dir>/scala-2.9.1/org.scala-tools.sbt/sbt/0.11.2/*.jar
<boot dir>/scala-2.9.1/lib/*.jar

引导目录取决于您安装SBT的方式。如果您从yum或其他标准方式安装,则引导目录将为~/.sbt/boot。


0

好的,在安装了ZSH的Linux系统上,我一直在使用以下方法来阐明类文件的位置...虽然不太好,但总比没有强。

zsh

setopt extendedglob

for i ( /home/work/.sbt/boot/scala-2.9.2/org.scala-sbt/sbt/0.12.0/*(.) ); do for j ( $(zipinfo -1 $i) ) ; do echo $i $j ; done ; done | grep Task

使用上述方法,我发现Task的定义在:

/home/work/.sbt/boot/scala-2.9.2/org.scala-sbt/sbt/0.12.0/task-system-0.12.0.jar

我猜我们需要为每个被引用的类都这样做。

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