在 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
}
}
我有一个 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
}
}