tomcat会在CATALINA_TMPDIR里创建临时文件,
而CATALINA_TMPDIR的默认位置是tomcat安装目录下的temp目录,
如果这个目录不存在,或者说这个目录的权限不够,就会报 can't create cache file。
解决方法很简单,
在tomcat的安装目录下创建这个目录就好了。
Linux命令:
进到tomcat目录
md temp(创建temp)
chmod 777 temp(我不知道具体应该是什么权限,所以直接777)
然后重启tomcat,就好了。
tomcat错误信息:
Caused by: javax.imageio.IIOException: Can't create output stream!
at javax.imageio.ImageIO.write(ImageIO.java:1560)
at net.sf.jasperreports.engine.util.JRJdk14ImageEncoder.encode(JRJdk14ImageEncoder.java:86)
... 47 more
Caused by: javax.imageio.IIOException: Can't create cache file!
at javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:397)
at javax.imageio.ImageIO.write(ImageIO.java:1558)
... 48 more
Caused by: java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(File.java:1704)
at java.io.File.createTempFile(File.java:1792)
at javax.imageio.stream.FileCacheImageOutputStream.<init>(FileCacheImageOutputStream.java:67)
at com.sun.imageio.spi.OutputStreamImageOutputStreamSpi.createOutputStreamInstance(OutputStreamImageOutputStreamSpi.java:50)
at javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:393)
... 49 more