該項目有子模塊。這裏是主build.sbt
...
lazy val abandon = (project in file(".")).
aggregate(base, cli, gui).
dependsOn(base, cli, gui).
enablePlugins(BuildInfoPlugin).
settings(commonSettings: _*).
settings(
name := "abandon",
fork in run := true,
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion),
buildInfoPackage := "co.uproot.abandon"
)
lazy val base = (project in file("base")).
settings(commonSettings: _*).
settings(
name := "abandon-base",
fork in run := true
)
lazy val cli = (project in file("cli")).
dependsOn(base).
settings(commonSettings: _*).
settings(
name := "abandon-cli",
fork in run := true
)
lazy val gui = (project in file("gui")).
dependsOn(base).
settings(commonSettings: _*).
settings(
name := "abandon-gui",
fork in run := true
)
生成BuildInfo.scala
被target/scala-2.11/src_managed/main/sbt-buildinfo/BuildInfo.scala
下位於預期。
package co.uproot.abandon
import scala.Predef._
/** This object was generated by sbt-buildinfo. */
case object BuildInfo {
/** The value is "abandon". */
val name: String = "abandon"
/** The value is "0.3.1". */
val version: String = "0.3.1"
/** The value is "2.11.8". */
val scalaVersion: String = "2.11.8"
/** The value is "0.13.12". */
val sbtVersion: String = "0.13.12"
override val toString: String = {
"name: %s, version: %s, scalaVersion: %s, sbtVersion: %s" format (
name, version, scalaVersion, sbtVersion
)
}
}
當我去到一個文件中package co.uproot.abandon
內,嘗試引用BuildInfo.version
我得到
Error:(256, 42) object BuildInfo is not a member of package co.uproot.abandon
co.uproot.abandon.BuildInfo.version
我讀到關於子模塊的問題,這個插件here最終試圖this的解決方法,但是這沒」幫助。
任何幫助將不勝感激!
我有一個*非常*類似的設置項目,我沒有問題。按照您的設置進行配置之後,您是否嘗試過在IntelliJ'文件'菜單中嘗試'使緩存/重啓無效?您使用的是什麼版本的IntelliJ/SBT/Scala等? –
@NathanielFord我只是這樣做了你的建議,它並沒有幫助。僅供參考使用: 的IntelliJ - ** 2016年2月5日** SBT - ** ** 0.13.12斯卡拉 - ** ** 2.11.6阿 – zaxme