如何将 SBT 类附加到 Intellij Idea?
Posted
技术标签:
【中文标题】如何将 SBT 类附加到 Intellij Idea?【英文标题】:How to attach SBT classes to Intellij Idea? 【发布时间】:2012-05-16 14:18:53 【问题描述】:我可能有一个愚蠢的问题。我想在 IntelliJ Idea 中编写 SBT 构建脚本(Build.scala),但 IDE 无法识别 SBT 类(构建、项目等)。我将 sbt-launch.jar 附加到项目中,但它没有改变任何东西,因为 sbt-launch.jar 不包含这些类。我应该怎么做才能完成这项工作?
【问题讨论】:
最近的 IntelliJ IDEA 13.x 应该没问题了 it comes with the SBT support。 【参考方案1】:使用sbt-idea plugin
【讨论】:
他在问他需要参考哪些 jar 文件来编辑 SBT *.scala 构建文件 - 不是,如何在 Intellij 中构建 SBT 项目。我正在努力让同样的事情发挥作用。 你试过了吗?这个插件是包含所有 sbt jars 的最简单方法 我使用那个插件。我认为你混淆了他想要做什么。他想要 *Project.scala 文件的代码完成/验证。【参考方案2】:好的,在安装了 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
我想我们需要为永远引用的类这样做。
【讨论】:
【参考方案3】:您需要附加的是下载的 SBT 库,而不是 sbt 启动器。 SBT 启动器 jar 将 SBT 和 Scala 下载到不同的目录中。
我还建议使用 sbt-idea 插件,而不是尝试自己设置项目。但是如果你仍然想自己做,那么将以下 jar 文件添加到你的 intellij 模块中:
/scala-2.9.1/org.scala-tools.sbt/sbt/0.11.2/*.jar /scala-2.9.1/lib/*.jar引导目录因您安装 sbt 的方式而异。如果您从 yum 或其他标准方式安装,您的引导目录将是 ~/.sbt/boot。
【讨论】:
以上是关于如何将 SBT 类附加到 Intellij Idea?的主要内容,如果未能解决你的问题,请参考以下文章
如何阻止 sbt package 命令将哈希附加到 jar 的名称
在 IntelliJ IDE 中将 Spark 与 Scala 项目集成时出错
Intellij IDEA + SBT:跳过不存在的Sources / Javadocs的下载错误
如何将 PostgreSQL 卷附加到使用 SBT 本机打包程序生成的 Docker 映像?