播放子项目不会运行

Play subproject won't run

我有一个 SBT 项目,其中包含多个不同类型的子项目。

其中一些是 Play 项目。

但我无法让它们运行

project/build.properties

sbt.version=0.13.7

project/plugins.sbt

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.7")

project/Build.scala

import play.PlayScala
import sbt._

object MyBuild extends Build {
    lazy val foo = Project("foo", file("foo")).enablePlugins(PlayScala)
}

sbt foo/runcurl http://localhost:9000/ 之后,我得到

! Internal server error, for (GET) [/] ->

java.util.NoSuchElementException: None.get
    at scala.None$.get(Option.scala:313) ~[scala-library.jar:na]
    at scala.None$.get(Option.scala:311) ~[scala-library.jar:na]
    at play.PlayReloader$$anon.reload(PlayReloader.scala:89) ~[na:na]
    at play.core.ReloadableApplication$$anonfun$get.apply(ApplicationProvider.scala:122) ~[play_2.10-2.3.7.jar:2.3.7]
    at play.core.ReloadableApplication$$anonfun$get.apply(ApplicationProvider.scala:120) ~[play_2.10-2.3.7.jar:2.3.7]

如果我将 file("foo") 更改为 file("."),它突然起作用了。

不幸的是,我有多个 Play 项目,这不是一个可行的解决方案。

如何将 Play 服务器作为基数不同于“.”的 SBT 项目运行?

这是一个known bug

至少从 Play 2.2 开始就是这样。