При разработке моего тестового приложения локально (в Windows) мое приложение работало нормально, без проблем.
После развертывания на heroku (с использованием git) и вызова определенного GET я получил ошибку. потратив МНОГИЕ часы на отладку проблемы, которая не может быть воспроизведена локально, я нашел область, которая ее вызывает (комментируя / не комментируя области кода)
вот код, который не работал на герою:
public static void compose(){
compose("");
}
public static void compose(String content){
render(content);
}
после изменения вышеуказанного на:
public static void compose(){
String content = "";
renderTemplate("Application/compose.html",content);
}
public static void compose(String content){
renderTemplate("Application/compose.html",content);
}
приложение сработало отлично на герою
здесь - исключение (сгенерированное из первого сегмента кода)
Internal Server Error (500) for request GET /compose
2012-03-03T10:37:14+00:00 app[web.1]: @69hmkdf00
2012-03-03T10:37:14+00:00 app[web.1]:
2012-03-03T10:37:14+00:00 app[web.1]: Oops: UnexpectedException
2012-03-03T10:37:14+00:00 app[web.1]: An unexpected error occured caused by exception UnexpectedException: Unexpected Error
2012-03-03T10:37:14+00:00 app[web.1]: play.exceptions.UnexpectedException: Unexpected Error
2012-03-03T10:37:14+00:00 app[web.1]:
2012-03-03T10:37:14+00:00 app[web.1]: at play.vfs.VirtualFile.contentAsString(VirtualFile.java:180)
2012-03-03T10:37:14+00:00 app[web.1]: at play.templates.TemplateLoader.load(TemplateLoader.java:69)
2012-03-03T10:37:14+00:00 app[web.1]: at play.templates.TemplateLoader.load(TemplateLoader.java:172)
2012-03-03T10:37:14+00:00 app[web.1]: at play.mvc.Controller.renderTemplate(Controller.java:640)
2012-03-03T10:37:14+00:00 app[web.1]: at play.mvc.Controller.render(Controller.java:695)
2012-03-03T10:37:14+00:00 app[web.1]: at play.mvc.Controller.renderTemplate(Controller.java:659)
2012-03-03T10:37:14+00:00 app[web.1]: at controllers.Application.compose(Application.java:92)
2012-03-03T10:37:14+00:00 app[web.1]: at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:548)
2012-03-03T10:37:14+00:00 app[web.1]: at play.mvc.ActionInvoker.invoke(ActionInvoker.java:502)
2012-03-03T10:37:14+00:00 app[web.1]: at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:478)
2012-03-03T10:37:14+00:00 app[web.1]: at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:473)
2012-03-03T10:37:14+00:00 app[web.1]: at play.mvc.ActionInvoker.invoke(ActionInvoker.java:161)
2012-03-03T10:37:14+00:00 app[web.1]: at Invocation.HTTP Request(Play!)
2012-03-03T10:37:14+00:00 app[web.1]: at play.vfs.VirtualFile.inputstream(VirtualFile.java:111)
2012-03-03T10:37:14+00:00 app[web.1]: at play.vfs.VirtualFile.contentAsString(VirtualFile.java:178)
2012-03-03T10:37:14+00:00 app[web.1]: Caused by: play.exceptions.UnexpectedException: Unexpected Error
2012-03-03T10:37:14+00:00 app[web.1]: ... 12 more
2012-03-03T10:37:14+00:00 app[web.1]: Caused by: java.io.FileNotFoundException: /app/app/views (Is a directory)
2012-03-03T10:37:14+00:00 app[web.1]: at java.io.FileInputStream.<init>(FileInputStream.java:137)
2012-03-03T10:37:14+00:00 app[web.1]: at java.io.FileInputStream.open(Native Method)
2012-03-03T10:37:14+00:00 app[web.1]: ... 13 more
2012-03-03T10:37:14+00:00 app[web.1]: at play.vfs.VirtualFile.inputstream(VirtualFile.java:109)
соответствующая строка файла маршрута
* / compose Application.compose
Мой вопрос
- что я сделал не так (и почему изменения я исправил)?
- а почему не воспроизводится локально?