天天看點

ireport中報org.springframework.beans.factory.BeanCreationException異常

在生成PDF檔案時報

org.springframework.beans.factory.BeanCreationException

在網上查了說是jasperreports-chart-themes-3.7.3.jar包的問題,我換成jasperreports-chart-themes-4.0.2.jar,問題一樣,火死了。

我想看看到底什麼原因,于是我看了一jasperreports-chart-themes-4.0.2.jar包

發現有這麼一個檔案jasperreports_extension.properties

打開一看

net.sf.jasperreports.extension.chart.theme.spring.beans.resource=net/sf/jasperreports/chartthemes/spring/beans/chartThemesBeans.xml

不管,直接去chartThemesBeans.xml看

搜尋,結果沒有...不甘心,在檔案最後

<import resource="defaultChartPropertiesBean.xml"/>

<import resource="eyeCandySixtiesChartPropertiesBean.xml"/>

<import resource="aegeanChartPropertiesBean.xml"/>

于是乎順着找,最終是chartConstantsBean.xml檔案中發現了titleBaseFontSize、subtitleBaseFontSize。

發現

<util:constant id="titleBaseFontSize" static-field="net.sf.jasperreports.chartthemes.spring.ChartThemesConstants.TITLE_BASEFONT_SIZE"/>

找到這個類看個究竟。

發沒在ChartThemesConstants類中沒有定義titleBaseFontSize對應的常量。

我再想,jasperreports不可能出現這個問題吧,

或者是在别的jar包中定義了?很多問題出來了!但報表還要出啊。

直接把chartConstantsBean.xml檔案中出錯的幾個bean配置删除。

<util:constant id="titleBaseFontSize" static-field="net.sf.jasperreports.chartthemes.spring.ChartThemesConstants.TITLE_BASEFONT_SIZE"/>

再運作,不報錯!

但還是沒有搞清真正的問題所在。先解決問題了!