为什么我的Java应用程序可以';你看不到*.jrxml吗?
我的项目具有以下体系结构: 我的模板是“report1.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 =
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说找不到该文件,但正如您在屏幕截图中看到的,它存在吗?
我怎样才能解决这个“问题”?
相反,问题是什么?
我的问候pJasper 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)