我们已将应用程序移至新服务器,因此我们知道可能存在一些环境问题。在我们的旧服务器上,Jasper 会自动选择与调用它们的报表位于同一目录中的子报表。
现在,我们收到如下消息:
net.sf.jasperreports.engine.JRException: Could not load object from location : applicationguide_sub_xml.jasper
是否可以传递某种默认路径,以便每个报告都会自动在同一目录中查找子报告?
我们已将应用程序移至新服务器,因此我们知道可能存在一些环境问题。在我们的旧服务器上,Jasper 会自动选择与调用它们的报表位于同一目录中的子报表。
现在,我们收到如下消息:
net.sf.jasperreports.engine.JRException: Could not load object from location : applicationguide_sub_xml.jasper
是否可以传递某种默认路径,以便每个报告都会自动在同一目录中查找子报告?
我认为您忘记更改主报告中的路径。您可以在具有以下表达式的 XML 选项卡中更改它:
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["YOURNEWPATHHERE"]]></defaultValueExpression>
</parameter>
结果是 .jasper 文件根本不存在。这很奇怪,因为我正在调用 Jasper 编译器。我猜正在发生的是它只编译主 jrxml,并在编译时查找子报告的 .jasper 而不是 .jrxml 文件。这是愚蠢的。