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