提问者:小点点

IntelliJ Idea sbt托管源文件


我正在使用sbt-buildinfo插件,它从我的构建定义生成Scala源代码,允许我从我的Scala代码中引用项目名称、版本等。

它通过生成一个包含以下内容的文件BuiltInfo. scala来做到这一点:

package hello

case object BuildInfo {
  val name = "helloworld"
  val version = "0.1-SNAPSHOT"
  val scalaVersion = "2.10.3"
  val sbtVersion = "0.13.2"
}

Target/scala-2.10/src_managed/main/sbt-build info/Build Info. scala.

一切都编译好了,我可以参考那些版本。

但是,IntelliJ Idea不将BuildInfo. scala识别为托管源文件,因此它将停止向我显示错误。知道如何做到这一点吗?

谢谢!


共1个答案

匿名用户

格雷加,你在玩框架项目吗?或者你有任何SBT子项目吗?我没有完整的答案,但可能有线索。

同样的问题也出现在我的IDEA项目中,当使用sbt-buildinfo和sbt-calaxb时。令人沮丧的是,它断断续续地工作——通常经过大量的修补,但莫名其妙地停止了。

我最终深入挖掘了一下(并最终向JetBrains发布了bug报告SCL-7182),并注意到根本原因是有一个子项目。当出现时,IDEA不能正确识别根项目的src_managed,但可以识别子项目。

目前,一个解决方法是使用项目结构对话框手动将正确的src_managed目录添加到项目的源代码中。

作为参考,我正在IntelliJ IDEA 13.1.3上运行Scala插件的0.38.437版。