播放子项目不会运行
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/run
和 curl 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 开始就是这样。
我有一个 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/run
和 curl 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 开始就是这样。