Java 外部样式问题:升级到JasperReports 6.3.0后获取StackOverflowerError

Java 外部样式问题:升级到JasperReports 6.3.0后获取StackOverflowerError,java,jasper-reports,Java,Jasper Reports,所以我正在升级jasper reports的旧版本。这是从3.7.6到6.3.0,所以是的,有很多变化。在大多数情况下,情况并不像我想象的那么糟。需要更新一些关于文件解析程序和导出程序的弃用内容,但大多数情况下一切正常,报表的可视化布局都是一样的 唯一的问题,我已经和一直无法解决是关于设置默认样式。我们在许多报告中都这样做,给了我一个我无法理解的错误 <?xml version="1.0"?> <!DOCTYPE jasperTemplate P

所以我正在升级jasper reports的旧版本。这是从3.7.6到6.3.0,所以是的,有很多变化。在大多数情况下,情况并不像我想象的那么糟。需要更新一些关于文件解析程序和导出程序的弃用内容,但大多数情况下一切正常,报表的可视化布局都是一样的

唯一的问题,我已经和一直无法解决是关于设置默认样式。我们在许多报告中都这样做,给了我一个我无法理解的错误

<?xml version="1.0"?>
    <!DOCTYPE jasperTemplate
            PUBLIC "-//JasperReports//DTD Template//EN"
            "http://jasperreports.sourceforge.net/dtds/jaspertemplate.dtd">

    <jasperTemplate>

        <style name="gothamBase" fontName="Monospaced" forecolor="#5d5c5c" vAlign="Top"></style>

        <style name="gothamMedium" style="gothamBase" fontSize="12" isDefault="true" ></style>

    </jasperTemplate>
为了排除其他因素,我删除了报告,使其为空,只引用了具有上述样式的模板。我从模板文件中删除了所有其他样式

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="title" pageWidth="792" pageHeight="612" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="792" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
    <template><![CDATA["styles.jrtx"]]></template>

</jasperReport>

即使缩小到这个范围,问题仍然存在。由于某些原因,它不喜欢我在默认样式同时引用父样式时设置该样式。但是看看jasper文档,我在这里所做的是有效的

我发现了这个,它有一个类似的错误。但是我们没有使用javaflow。为了确保我已经将更改添加到log4j中,以便javaflow不在调试中,这并没有改变任何东西。还试图从我们的pom中排除javaflow,也没有运气


有什么帮助吗?

这两种样式几乎都是jrtx中的所有样式。我删除了所有其他内容以缩小问题范围。我更新了jrtx的代码,以包含其中的其余xml。这也是整个
.jrxml
文件吗?如果没有,请尽可能多地发布,包括任何内联样式和引用任何和所有样式的元素。jrxml文件的简短片段和jrtx都在那里。我删除了所有其他内容,试图找出到底是什么问题。没有足够的信息来回答这个问题。请添加更多详细信息。尽可能准确。包括目录和文件路径、完整的文件内容、任何Java代码(如果适用)、字体文件引用,以及您认为可能有用的任何其他内容。gothamMedium将gothamBase引用为父类型,gothamBase回退到gothamMedium,因为后者是默认样式。JasperReports没有正确处理这种依赖关系。断开链的一种方法是将net.sf.jasperreports.styles.inherit.from.default属性设置为false(在jasperreports.properties文件中或以编程方式设置)。这两种样式几乎都是jrtx中的样式。我删除了所有其他内容以缩小问题范围。我更新了jrtx的代码,以包含其中的其余xml。这也是整个
.jrxml
文件吗?如果没有,请尽可能多地发布,包括任何内联样式和引用任何和所有样式的元素。jrxml文件的简短片段和jrtx都在那里。我删除了所有其他内容,试图找出到底是什么问题。没有足够的信息来回答这个问题。请添加更多详细信息。尽可能准确。包括目录和文件路径、完整的文件内容、任何Java代码(如果适用)、字体文件引用,以及您认为可能有用的任何其他内容。gothamMedium将gothamBase引用为父类型,gothamBase回退到gothamMedium,因为后者是默认样式。JasperReports没有正确处理这种依赖关系。断开链的一种方法是将net.sf.jasperreports.styles.inherit.from.default属性设置为false(在jasperreports.properties文件中或以编程方式)。
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="title" pageWidth="792" pageHeight="612" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="792" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
    <template><![CDATA["styles.jrtx"]]></template>

</jasperReport>