我正在使用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识别为托管源文件,因此它将停止向我显示错误。知道如何做到这一点吗?
谢谢!
格雷加,你在玩框架项目吗?或者你有任何SBT子项目吗?我没有完整的答案,但可能有线索。
同样的问题也出现在我的IDEA项目中,当使用sbt-buildinfo和sbt-calaxb时。令人沮丧的是,它断断续续地工作——通常经过大量的修补,但莫名其妙地停止了。
我最终深入挖掘了一下(并最终向JetBrains发布了bug报告SCL-7182),并注意到根本原因是有一个子项目。当出现时,IDEA不能正确识别根项目的src_managed
,但可以识别子项目。
目前,一个解决方法是使用项目结构对话框手动将正确的src_managed
目录添加到项目的源代码中。
作为参考,我正在IntelliJ IDEA 13.1.3上运行Scala插件的0.38.437版。