在 jar 文件中 运行 时无法读取文件

Can not read file when run within jar file

我有一个 akka http 服务。我只是 return 获取请求的 api 文档。文档在 html 文件中。

当 运行 在 IDE 内时一切正常。当我将其打包为 jar 时,出现错误 'resource not found'。我不确定为什么它在 jar 中托管时无法读取 html 文件,而在 IDE.

中时工作正常

这是路线的代码。

private Route topLevelRoute() {
    return pathEndOrSingleSlash(() -> getFromResource("asciidoc/html/api.html"));
}

文件位于资源路径中。

我现在已经开始工作了。

我正在做这个。

private Route topLevelRoute() {
 try {
   InputStreamReader inputStreamReader = new InputStreamReader(getClass().getResourceAsStream("/asciidoc/html/api.html"));
   BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
   //Get the stream input into string builder
   reader.lines().forEach(s -> strBuild.append(s));

   inputStreamReader.close();
   bufferedReader.close();
   //pass the string builder as string with contenttype set to html
   complete(HttpEntities.create(ContentTypes.TEXT_HTML_UTF8, strBuild.toString()))
 } catch (Exception ex) {
        //Catch any exception here
 }
}