创建TIBCO地图报告时出现ClassNotFoundException:net.sf.jasperreports.components.items.fill.FillItemData

时间:2016-03-16 05:45:11

标签: jasper-reports classnotfoundexception jaspersoft-studio

创建简单的TIBCO地图报告时,我面临异常。我刚刚在调色板上拖了一个TIBCO地图元素,当我看到预览然后面对异常时:

java.lang.NoClassDefFoundError: net/sf/jasperreports/components/items/fill/FillItemData
    at com.jaspersoft.jasperreports.tibco.maps.fill.TibcoMapFillFactory.toFillComponent(TibcoMapFillFactory.java:23)
    at net.sf.jasperreports.engine.fill.JRFillComponentElement.<init>(JRFillComponentElement.java:72)
    at net.sf.jasperreports.engine.fill.JRFillObjectFactory.visitComponentElement(JRFillObjectFactory.java:1704)
    at net.sf.jasperreports.engine.base.JRBaseComponentElement.visit(JRBaseComponentElement.java:81)
    at net.sf.jasperreports.engine.JRAbstractObjectFactory.getVisitResult(JRAbstractObjectFactory.java:88)
    at net.sf.jasperreports.engine.fill.JRFillElementGroup.<init>(JRFillElementGroup.java:82)
    at net.sf.jasperreports.engine.fill.JRFillElementContainer.<init>(JRFillElementContainer.java:89)
    at net.sf.jasperreports.engine.fill.JRFillBand.<init>(JRFillBand.java:121)
    at net.sf.jasperreports.engine.fill.JRFillObjectFactory.getBand(JRFillObjectFactory.java:522)
    at net.sf.jasperreports.engine.fill.JRFillSection.<init>(JRFillSection.java:74)
    at net.sf.jasperreports.engine.fill.JRFillObjectFactory.getSection(JRFillObjectFactory.java:498)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:254)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:69)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:57)
    at net.sf.jasperreports.engine.fill.JRFiller.createBandReportFiller(JRFiller.java:201)
    at net.sf.jasperreports.engine.fill.JRFiller.createReportFiller(JRFiller.java:216)
    at net.sf.jasperreports.engine.fill.BaseFillHandle.<init>(BaseFillHandle.java:74)
    at net.sf.jasperreports.engine.fill.AsynchronousFillHandle.<init>(AsynchronousFillHandle.java:97)
    at net.sf.jasperreports.engine.fill.AsynchronousFillHandle.<init>(AsynchronousFillHandle.java:86)
    at net.sf.jasperreports.engine.fill.AsynchronousFillHandle.createHandle(AsynchronousFillHandle.java:188)
    at com.jaspersoft.studio.editor.preview.view.control.ReportControler$5.run(ReportControler.java:377)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.components.items.fill.FillItemData cannot be found by com.jaspersoft.studio.tibcomaps_6.2.0.final
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 22 more

任何人都可以帮我吗?我还添加了Jasper将JAR报告给Classpath,但仍面临这个问题。

2 个答案:

答案 0 :(得分:1)

这已在JR Lib 6.2.1中解决,即将发布。

缺少的软件包已添加到JR Lin JAR清单文件中的OSGI导出软件包中。

谢谢, 特奥多尔

答案 1 :(得分:0)

我前段时间使用过jasper报告。 如果jar在类路径中,问题是简单的ClassNotFound。他们可能是你的jar版本是错过匹配。因为碧玉使用了很多支撑罐。 所以再次扫描你的罐子。 此类(FillItemData)存在于jasperreports-5.1.0.jar中 总的来说,你必须检查所有的罐子和版本。