FileNotFoundException将HandlebarsTemplateEngine与Sparkjava一起使用

时间:2016-06-29 06:18:32

标签: java spark-java handlebars.java

我有火花问题。 我正在尝试加载视图“base.hbs”,但每当我尝试加载它时,spark会抛出一个FileNotFoundException

我尝试将构造函数更改为新的HandlebarsTemplateEngine(“tries / different / paths / here”);但没有运气。我甚至尝试将资源文件夹放在C:/ Drive中并在外部加载但仍然没有运气......

我没有使用常规嵌入式Jetty服务器,但我使用的是tomcat服务器...我可以向你保证其他get方法可以工作(我返回一个字符串)

很多帮助表示感谢。

代码:

@Override
public void init() {

    Map map = new HashMap();
    map.put("name", "Sam Cooke");

    get("/hello", (rq, rs) -> {
        System.out.println(rq.contextPath());

        return new ModelAndView(map, "base.hbs");}, new HandlebarsTemplateEngine("resources/templates/"));

    exception(Exception.class, (ex, rq, rs)->{ex.printStackTrace();});
}

文件夹结构:

File Structure

例外:

org.eclipse.jetty.io.RuntimeIOException: java.io.FileNotFoundException: resources/templates/base.hbs
at spark.template.handlebars.HandlebarsTemplateEngine.render(HandlebarsTemplateEngine.java:78)
at spark.TemplateViewRouteImpl$1.render(TemplateViewRouteImpl.java:61)
at spark.TemplateViewRouteImpl$1.render(TemplateViewRouteImpl.java:58)
at spark.TemplateViewRouteImpl.render(TemplateViewRouteImpl.java:85)
at spark.http.matching.Routes.execute(Routes.java:62)
at spark.http.matching.MatcherFilter.doFilter(MatcherFilter.java:126)
at spark.servlet.SparkFilter.doFilter(SparkFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)


Caused by: java.io.FileNotFoundException: resources/templates/base.hbs
at com.github.jknack.handlebars.io.URLTemplateLoader.sourceAt(URLTemplateLoader.java:70)
at com.github.jknack.handlebars.Handlebars.compile(Handlebars.java:391)
at com.github.jknack.handlebars.Handlebars.compile(Handlebars.java:377)
at spark.template.handlebars.HandlebarsTemplateEngine.render(HandlebarsTemplateEngine.java:75)
... 24 more

1 个答案:

答案 0 :(得分:0)

事实证明,答案是重新启动日食......耶稣这是一天因重启而解决的错误...谢谢剪辑......