Paul Draper
Paul Draper

Reputation: 83205

Play subproject won't run

I have a SBT project with several subprojects of various kinds.

Some of them are Play projects.

But I can't get them to run

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)
}

After sbt foo/run and curl http://localhost:9000/, I get

! 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$1.reload(PlayReloader.scala:89) ~[na:na]
    at play.core.ReloadableApplication$$anonfun$get$1.apply(ApplicationProvider.scala:122) ~[play_2.10-2.3.7.jar:2.3.7]
    at play.core.ReloadableApplication$$anonfun$get$1.apply(ApplicationProvider.scala:120) ~[play_2.10-2.3.7.jar:2.3.7]

If I change file("foo") to file("."), it suddenly works.

Unfortunately, I have multiple Play projects, and this isn't a viable solution.

How do I run a Play server as an SBT project whose base is different than "."?

Upvotes: 1

Views: 412

Answers (1)

Paul Draper
Paul Draper

Reputation: 83205

This is a known bug.

It has been this way since at least Play 2.2.

Upvotes: 3

Related Questions