在尝试为 Vertx 获取 HandleBars 模板引擎的模板时,我一直在与 NoSuchFileException 作斗争。我个人认为 ether Vertx 文件系统根目录不一致或者我遗漏了一些东西,代码片段如下:
String templateLocation = "templates"+File.separator+"index.hbs";
fs = vertx.fileSystem();
fs.exists(templateLocation, existHandler -> {
if(existHandler.succeeded() && existHandler.result() == true){
engine.render(context,templateLocation, renderResult -> {
if (renderResult.succeeded()) {
context.request().response().putHeader("Content-Type", "text/html");
context.response().end(renderResult.result());
} else {
context.fail(renderResult.cause());
}
});
首先,我通过存在确认,目录和模板文件是否存在。如果是,他们开始在同一个目录上渲染操作,我陷入:
java.nio.file.NoSuchFileException: \emplates\index.hbs
尽管存在 FileSystem 声明目录的事件。HandleBars 期望在哪里找到它的模板?我已经将文件夹复制/粘贴templates/index.hbs
到所有可能的位置:
- 项目根
- 源/资源
- java main 执行的目录
都没有成功...
另请注意t
异常中的缺失,不是拼写错误,看起来堆栈中的某些内容无法很好地处理路径