gpt4 book ai didi

java - 为什么我的 Java 应用程序看不到 *.jrxml?

转载 作者:行者123 更新时间:2023-11-30 04:37:12 26 4
gpt4 key购买 nike

我的项目具有以下架构: enter image description here

我的模板是“report1.jrxml”,然后当我执行此代码时:

  TableModel model = (TableModel) masterTable.getModel();    
JRTableModelDataSource data = new JRTableModelDataSource(model);
String reportSource ="report1.jrxml";
try {
JasperReport jr = JasperCompileManager.compileReport(reportSource);
JasperPrint jp = JasperFillManager.fillReport(jr, null,data);
} catch (JRException ex)
{
Logger.getLogger(master.class.getName()).log(Level.SEVERE, null, ex);
}

我收到此错误(我对法语感到抱歉,但很容易理解:p):

Grave: null
net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: report1.jrxml (Le fichier spécifié est introuvable)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:176)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:156)
at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:171)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:448)
at testjasper.master.jButton1ActionPerformed(master.java:319)
at testjasper.master.access$900(master.java:25)
at testjasper.master$FormListener.actionPerformed(master.java:259)

Netbeans 说找不到该文件,但正如您在屏幕截图中看到的那样,它存在吗?我怎么解决这个问题” ?相反,问题是什么?致以我的问候。 :p

最佳答案

Jasper 报告无法看到它,因为该文件是嵌入式资源(它不作为文件存在,而是 Jar 文件中的条目)

您需要使用 getClass().getResource("/testjasper/report1.jrxml") 获取对它的引用,这将返回 URL

根据内存,您应该能够为 Jasper 提供一个 InputStream,这可以通过使用 URL#openConnection 来实现

关于java - 为什么我的 Java 应用程序看不到 *.jrxml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13204564/

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