为什么我的Java应用程序可以';你看不到*.jrxml吗?

为什么我的Java应用程序可以';你看不到*.jrxml吗?,java,jasper-reports,filenotfoundexception,Java,Jasper Reports,Filenotfoundexception,我的项目具有以下体系结构: 我的模板是“report1.jrxml”,执行此代码时: TableModel model = (TableModel) masterTable.getModel(); JRTableModelDataSource data = new JRTableModelDataSource(model); String reportSource ="report1.jrxml"; try { JasperReport jr =

我的项目具有以下体系结构:

我的模板是“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):

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

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

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


从内存中,您应该可以使用
InputStream
,这可以通过使用
URL\openConnection

来实现。您是否尝试将包目录添加到路径中?i、 根据我们的经验,“testjasper/report1.jrxml”通常更容易(更不用说更快)交付预编译的报告,而不是在运行时编译
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)