无法从jar文件

时间:2015-11-19 07:42:01

标签: jasper-reports subreport

我已经通过Netbeans和Jasper Report完成了我的java项目。我将文件复制到另一台笔记本电脑并运行jar文件,但是当我从与子报告有关的jar文件运行报告时出现错误:

net.sf.jasperreports.engine.jrexception resource not found at ...path

它试图查看我已经开发了我的程序和报告的子报告的原始路径。现在,因为我想将程序运行到另一台笔记本电脑,我再也没有这条路了。该怎么办?如何将子报表设置为相对路径?我有这个子报告表达式:

$P{SUBREPORT_DIR} + "SubReport_Items.jasper"

请帮忙......

1 个答案:

答案 0 :(得分:0)

你可以在jasper报告中使用相对路径,这就是你通常使用$P{SUBREPORT_DIR}的原因,因为$P{SUBREPORT_DIR}是参数,你的应用程序可以使用相对路径然后通过jasper报告的绝对路径。

java代码示例

File reportDir = new File("myReportDirRealtiveToApplication"); //relative path
String absolutePath = reportDir.getAbsolutePath() + File.separator; //Convert to absolute

Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("SUBREPORT_DIR", absolutePath); //Pass as parameter

将参数贴图传递给导出/填充方法,下面是一个示例,当然您将使用当前正在使用的内容....

JasperFillManager.fillReportToFile(jasperFileName, paramMap, myConnection); //Fill the report