IntelliJ Idea sbt托管源文件

Gre*_*ret 20 scala intellij-idea sbt sbt-buildinfo

我正在使用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"
}
Run Code Online (Sandbox Code Playgroud)

target/scala-2.10/src_managed/main/sbt-buildinfo/BuildInfo.scala.

一切都编译,我可以参考那些vals.

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

谢谢!

Mic*_*ers 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版本.

  • 我还必须删除子项目中`/ target`上的排除项才能使其生效.然后我不得不将`src_managed/main`取消标记为源,然后将`src_managed/main/java`标记为源. (2认同)