在SpringBoot中获取一个静态资源文件,部署为.jar?



我正在创建一个小型web应用程序,它将生成和生成pdf文件。该应用程序是使用SpringBoot 2.5.4创建的。

我的第一个意图是使用这一行来编译jasper报告

JasperReport compileReport = JasperCompileManager.compileReport(new FileInputStream("src/main/resources/Invoice.jrxml"));

在IDE (STS 4.x)中一切都很好,但是当我"构建"时;并运行java -jar,我得到一个FileNotFoundException.

然后我决定编译。jrxml并使用。jasper文件。我还想把我的文件移动到/resources/static/reports文件夹,以允许包包含这些文件。

但是我又卡住了,我想在SpringBoot应用程序中检索静态文件,当我运行它时,无论如何…我可以加载并读取那个文件

我做错了什么?

问好

FileInputStream从文件系统中的文件读取输入字节—它不允许您访问包含在压缩JAR中的文件。相反,您可以这样做:

getClass().getResourceAsStream("/Invoice.jrxml");

如果您的文件包含在src/main/resources中,这应该可以工作。

相关内容

  • 没有找到相关文章

最新更新