gpt4 book ai didi

java - Jasper 报告未获取正确路径

转载 作者:行者123 更新时间:2023-12-01 12:05:33 25 4
gpt4 key购买 nike

我有一个 jasper 报告,想要使用我的应用程序内的 Logo (gif)(/src/main/resources/img 内)

用于检索图像 Logo 的代码是

public void imprimir(MyReport myreport) throws Exception    
{

List myReportList = new ArrayList();

File logo = new File(getClass().getClassLoader().getResource("img/myLogo.gif").getPath());
myreport.setLogo(logo);
myReportList.add(myreport);

FileInputStream fis = (FileInputStream) getClass().getClassLoader().getResourceAsStream("jasper/myreport.jasper");
// JasperReport report = JasperCompileManager.compileReport(fis);
JasperPrint print = JasperFillManager.fillReport(fis, null, new JRBeanCollectionDataSource(myReportList));
JasperExportManager.exportReportToPdfFile(print, "c:/myreport.pdf");

ByteArrayOutputStream baos = new ByteArrayOutputStream();
JasperExportManager.exportReportToPdfStream(print, baos);

DataSource datasource = new ByteArrayDataSource(baos.toByteArray(), "application/pdf");

Email mail = new Email();

mail.setFromLabel("xxxxxxxx@xxxxxxxx.yyy.zz");
mail.setTo("destiny@xxxxxxxx.yyy.zz");
mail.setSubject("myreport");
mail.setMessage("Mesage");

EmailService emailService = new EmailService();
emailService.sendEmail(mail, datasource);

}

但是这条路径不存在。

[Server:server01] 09:40:12,492 ERROR [stderr] (default task-3) Caused by: java.io.FileNotFoundException: C:\Java\AS\wildfly-8.1.0.Final\content\MyProject.war\WEB-INF\classes\img\logo.gif

因此,看起来,路径正在被解析为不同的值。该部署是通过 Wildfly 8.1 Final 在域模式(集群)下进行的。

我在这里缺少什么?

最佳答案

您的myLogo.gif已打包在MyProject.war文件中。路径 C:\Java\AS\wildfly-8.1.0.Final\content\MyProject.war\WEB-INF\classes\img\logo.gif 不存在。

我建议两种解决方案来解决此问题。

1.将myLogo.gif移出MyProject.war。使用真实路径加载 gif 文件。

File logo = new File(realPath);
myreport.setLogo(logo);

2.将myreport.setLogo(logo)方法的参数类型更改为InputStream

InputStream logoInputStream = getClass().getClassLoader().getResourceAsStream("img/myLogo.gif");
myreport.setLogoInputStream(logoInputStream);

关于java - Jasper 报告未获取正确路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27652077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com