20

我正在使用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"
}

目标/scala-2.10/src_managed/main/sbt-buildinfo/BuildInfo.scala

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

但是,IntelliJ Idea 不会将 BuildInfo.scala 识别为托管源文件,因此它不会向我显示错误。知道怎么做吗?

谢谢!

4

1 回答 1

7

Grega,你在 Play Framework 项目中工作吗?或者你有任何 SBT 子项目吗?我没有完整的答案,但可能有线索。

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

我最终深入挖掘(并最终向 JetBrains 发布了错误报告SCL-7182),并注意到根本原因是有一个子项目。如果存在,IDEA 不会正确识别src_managed根项目,但识别子项目。

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

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

于 2014-06-16T19:39:50.967 回答