我正在使用play-1.2.3。
我已执行以下步骤:
对myApp的第一个请求导致TemplateNotFoundException。这些步骤是否正确?
由于公司限制,我无法部署源代码。如果上述方法不起作用,我可以考虑使用Jetty进行部署。
更新的
Stacktrace是:
12:27:53,932 INFO ~ Starting C:\play-1.2.3\samples-and-tests\chat
12:27:54,008 INFO ~ Application is precompiled
12:27:54,553 INFO ~ Application 'chat' is now started !
12:27:54,647 INFO ~ Listening for HTTP on port 9000 ...
12:28:02,466 ERROR ~
@686d104bp
Internal Server Error (500) for request GET /
Execution exception
NullPointerException occured : null
play.exceptions.JavaExecutionException
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:229)
at Invocation.HTTP Request(Play!)
Caused by: java.lang.NullPointerException
at play.exceptions.TemplateNotFoundException.<init>(TemplateNotFoundException.java:25)
at play.mvc.Controller.renderTemplate(Controller.java:666)
at play.mvc.Controller.renderTemplate(Controller.java:639)
at play.mvc.Controller.render(Controller.java:694)
at controllers.Application.index(Application.java:14)
at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:546)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:500)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:476)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:471)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:159)
... 1 more
答案 0 :(得分:4)
有人在灯塔上报告了这种情况#806 https://play.lighthouseapp.com/projects/57987-play-framework/tickets/806。我做了一些调查,发现在1.2.3中,如果没有模板源,就无法在预编译模式下运行。关于案例#806,我对这个问题做了更广泛的评论。
我还实现了一个修复程序并将其推送到git@github.com上的游戏分区:WiredThing / play.git并且我已经发出拉动请求来玩框架,以防他们想要将其拉入。< / p>
但是,为了重新迭代,在股票播放版本中,可以在预编译模式下删除java源,但是模板源必须存在,即使它从中加载字节码预编译文件。
答案 1 :(得分:4)
它有点像黑客,除了使用一个模板的快速测试之外我还没有验证它,但是一个解决方法似乎是删除模板的内容,以便文件仍然在技术上存在(所以Play是很高兴,但你的模板实际上并没有曝光。