java.io.IOException:Permission denied
后台导出数据功能时,报java.io.IOException:Permission denied异常,以及解决方式
·
项目场景:
springBoot项目
问题描述
在进行后台导出数据功能时,报错:java.lang.RuntimeException: java.io.IOException:Permission denied
caused by: java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createTempFile(File.java:2024)
at org.apache.poi.util.DefaultTempFileCreationStrategy.createTempFile(DefaultTempFileCreationStrategy.java:110)
at org.apache.poi.util.TempFile.createTempFile(TempFile.java:66)
at org.apache.poi.xssf.streaming.SheetDataWriter.createTempFile(SheetDataWriter.java:89)
at org.apache.poi.xssf.streaming.SheetDataWriter.<init>(SheetDataWriter.java:72)
at org.apache.poi.xssf.streaming.SheetDataWriter.<init>(SheetDataWriter.java:77)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheetDataWriter(SXSSFWorkbook.java:342)
...
原因分析:
当前启动服务的账号,没有临时文件目录的写入权限,导致了创建临时excel的时候,没有权限。
解决方案:
解决方式(来自百度):
(1)直接使用 chmod -R 777 /tmp/poifiles 将临时文件目录权限设为 777
(2)在服务启动的时候设置临时文件的路径为当前启动服务的账号有权限写入的路径,可以使用 System.setProperty(java.io.tmpdir, “xxxx”) 来设置,也可以在启动时加 -Djava.io.tmpdir=xxxx来设置
╭◜◝ ͡ ◜◝╮
( ˃̶͈◡˂ ̶͈ )感觉有用的话,欢迎点赞评论呀!
╰◟◞ ͜ ◟◞╯
更多推荐
已为社区贡献3条内容
所有评论(0)