It turns out that Play! does not allow such operation in production mode
Play.application().getFile("app/assets/json/create_user.json");
According to James Roper, here, "It's bad practice in Play to rely on the filesystem".
Instead, one should provide the file in either 'conf' of 'public' folders and load them as resources. These files are embedded in the packaged application.
Since his solution is in Scala, and I have found some solutions with the old Play!Framework 1.X, I decided to post what actually worked for me with Play! 2.2.2 and Java 1.7:
Play.application().classloader().getResourceAsStream("json/create_user.json");
with my .json files located at 'conf/json'.