Image 使用映像创建JasperReport无法在Windows Vista、7或Server 2008上创建临时文件

Image 使用映像创建JasperReport无法在Windows Vista、7或Server 2008上创建临时文件,image,windows-7,jasper-reports,temporary-files,Image,Windows 7,Jasper Reports,Temporary Files,在使用Windows Vista、Windows 7或Windows 2008的某些计算机上运行我们的应用程序时,生成Jasper报告时出现以下错误: java.lang.RuntimeException:net.sf.jasperreports.engine.JRException:javax.imageio.IIOException:无法创建输出流! 在br.com.oobj.relatorio.RRelatorioJasper.gerarJasperPrint(RRelatorioJasp

在使用Windows Vista、Windows 7或Windows 2008的某些计算机上运行我们的应用程序时,生成Jasper报告时出现以下错误:

java.lang.RuntimeException:net.sf.jasperreports.engine.JRException:javax.imageio.IIOException:无法创建输出流! 在br.com.oobj.relatorio.RRelatorioJasper.gerarJasperPrint(RRelatorioJasper.java:61) 在br.com.oobj.relatorio.RRelatorioJasper.gerarJasperPrint(RRelatorioJasper.java:44) 位于br.com.oobj.cte.dacte.RGerarDacte.gerarJasperPrint(RGerarDacte.java:153) 位于br.com.oobj.cte.dacte.RGerarDacte.gerarJasperPrint(RGerarDacte.java:66) 在br.com.oobj.me.impressao.GeradorDacte.gerarDAME(GeradorDacte.java:55) 在br.com.oobj.me.impressao.GeradorDameDelegator.gerarDAME(GeradorDameDelegator.java:23) 位于br.com.oobj.me.impressao.servicompressao.processar(servicompressao.java:117) 在br.com.oobj.me.impressao.ConsumidorImpressao.novamensage(ConsumidorImpressao.java:71) 在br.com.oobj.util.fila.ConsumidorNotificante.run(ConsumidorNotificante.java:229) 运行(ConsumidorImpressao.java:47) 原因:net.sf.jasperreports.engine.JRException:javax.imageio.IIOException:无法创建输出流! net.sf.jasperreports.engine.util.JRJdk14ImageEncoder.encode(JRJdk14ImageEncoder.java:90) net.sf.jasperreports.engine.util.jractImageEncoder.encode(jractImageEncoder.java:74) 在net.sf.jasperreports.engine.util.JRImageLoader.loadImageDataFromAWTImage(JRImageLoader.java:166)上 位于net.sf.jasperreports.engine.jrimagerender.getInstance(jrimagerender.java:207) 位于net.sf.jasperreports.engine.jrimagerender.getInstance(jrimagerender.java:190) 位于net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:901) 位于net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:870) 位于net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275) 位于net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:426) 位于net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBandNoOverflow(JRVerticalFiller.java:424) 位于net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVerticalFiller.java:388) 位于net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:249) 位于net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113) 位于net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:891) 位于net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:814) 位于net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89) 位于net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601) 位于net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517) 在br.com.oobj.relatorio.RRelatorioJasper.gerarJasperPrint(RRelatorioJasper.java:58) ... 9更多 原因:javax.imageio.IIOException:无法创建输出流! 在javax.imageio.imageio.write(未知源) net.sf.jasperreports.engine.util.JRJdk14ImageEncoder.encode(JRJdk14ImageEncoder.java:86) ... 还有27个 原因:javax.imageio.IIOException:无法创建缓存文件! 在javax.imageio.imageio.createImageOutputStream(未知源) ... 还有29个 原因:java.io.IOException:系统找不到指定的路径 位于java.io.WinNTFileSystem.CreateFileExclusive(本机方法) 位于java.io.File.checkAndCreate(未知源) 位于java.io.File.createTempFile(未知源) 位于javax.imageio.stream.FileCacheMageOutputStream。(未知源) 位于com.sun.imageio.spi.OutputStreamImageOutputStreamSpi.createOutputStreamInstance(未知源) ... 30多

报告引用外部JPG图像。应用程序作为windows服务运行。我已尝试使用管理员用户启动该服务,但未成功

在某些机器中,我们通过将映像重新定位到C以外的其他驱动器来解决此问题:

我将非常感激你能带来的任何帮助

谢谢,
Jonathas

Windows 2008似乎对一些有关服务的系统指令有不同的默认设置

在用户模式下运行应用程序(即在windows用户会话中运行)时,问题不会得到验证

此外,如果我们将文件移动到安装windows的驱动器以外的驱动器,则不会出现问题


这并不完全是一个解决方案(我没有弄清楚到底要更改什么系统指令),但我相信这些信息最终会有所帮助。

Windows 2008似乎对一些有关服务的系统指令有不同的默认设置

在用户模式下运行应用程序(即在windows用户会话中运行)时,问题不会得到验证

此外,如果我们将文件移动到安装windows的驱动器以外的驱动器,则不会出现问题

这并不完全是一个解决方案(我没有弄清楚到底要更改什么系统指令),但我相信这些信息最终会有所帮助