Search code examples
scalaplayframeworkplayframework-2.2

Can't load a file in Play (always not found)


I can't load a file in Play:

val filePath1 = "/views/layouts/mylayout.scala.html"
val filePath2 = "views/layouts/mylayout.scala.html"

Play.getExistingFile(filePath1)
Play.getExistingFile(filePath2)

Play.resourceAsStream(filePath1)
Play.resourceAsStream(filePath2)

None of these works, they all return None.


Solution

  • You are essentially trying to read a source file at runtime. Which is not something you should usually do. If you want to read a file at runtime then I'd recommend putting it somewhere that will end up in the classpath and then use Play.resourceAsStream to read the file. The files in the conf directory and non-compiled files in the app dir should end up in the classpath.