【发布时间】:2019-12-29 13:34:56
【问题描述】:
我正在运行一个 cron 调度程序,它将运行查询并导出到资源文件夹中的 excel 文件中。当我在 IDE 中运行程序时,它工作正常并且文件正在资源下创建,但是当我在 Tomcat 中部署代码时出现此错误“java.io.FileNotFoundException: src\main\resources\Report\testQuery.xlsx (系统找不到指定的路径)”
IDE 的输出: 开始 连接的 执行 导出成功 关闭
Tomcat 的输出:
开始 连接的 执行 java.io.FileNotFoundException: src\main\resources\Report\testQuery.xlsx(系统找不到指定的路径)
【问题讨论】:
-
xlsxWorkbook.write(new FileOutputStream("src/main/resources/Report/testQuery.xlsx"));
-
不要硬编码文件路径,而是在属性文件中定义它,并在您执行导出的服务或组件中绑定相应的属性。
-
如果您使用 springframework,您可以使用 ResourceLoader 或 ResourceUtils 从资源路径获取文件对象。路径字符串将为“classpath:/Report/testQuery.xlsx”
标签: java spring spring-boot