Linux下tomcat运行时报can't create cache file的解决方案.

来源:互联网 发布:淘宝企业店铺交多少钱 编辑:程序博客网 时间:2024/06/03 17:57
这个问题一般是出现在调用 OutputStream 的时候,
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