Jump to content
  • JasperReports DataSource Provider


    kswierkowski_1
    Assigned User chicuslavic
    CategoryBug report
    PriorityHigh
    ReproducibilityAlways
    ResolutionFixed
    SeverityCritical
    StatusResolved
    Versionv2.0.2

    I implemented my own data source which is JasperReports DataSource Provider. It works in iReport, but doesn't for Jaspersoft Studio.

     

    When I press the test button for DataAdapter Wizard I get the following exception:

     

    java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/data/JRAbstractBeanDataSourceProvider

    at java.lang.ClassLoader.defineClass1(Native Method)

    at java.lang.ClassLoader.defineClassCond(Unknown Source)

    at java.lang.ClassLoader.defineClass(Unknown Source)

    at java.security.SecureClassLoader.defineClass(Unknown Source)

    at java.net.URLClassLoader.defineClass(Unknown Source)

    at java.net.URLClassLoader.access$000(Unknown Source)

    at java.net.URLClassLoader$1.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at java.lang.ClassLoader.defineClass1(Native Method)

    at java.lang.ClassLoader.defineClassCond(Unknown Source)

    at java.lang.ClassLoader.defineClass(Unknown Source)

    at java.security.SecureClassLoader.defineClass(Unknown Source)

    at java.net.URLClassLoader.defineClass(Unknown Source)

    at java.net.URLClassLoader.access$000(Unknown Source)

    at java.net.URLClassLoader$1.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at java.lang.Class.forName0(Native Method)

    at java.lang.Class.forName(Unknown Source)

    at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)

    at net.sf.jasperreports.data.provider.DataSourceProviderDataAdapterService.getProvider(DataSourceProviderDataAdapterService.java:88)

    at net.sf.jasperreports.data.provider.DataSourceProviderDataAdapterService.contributeParameters(DataSourceProviderDataAdapterService.java:111)

    at net.sf.jasperreports.data.AbstractDataAdapterService.test(AbstractDataAdapterService.java:128)

    at com.jaspersoft.studio.data.wizard.AbstractDataAdapterWizard$3.run(AbstractDataAdapterWizard.java:162)

    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

    Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.engine.data.JRAbstractBeanDataSourceProvider

    at java.net.URLClassLoader$1.run(Unknown Source)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.net.URLClassLoader.findClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    at java.lang.ClassLoader.loadClass(Unknown Source)

    ... 31 more

     

     

    A attach the screenshot for DataAdapter Wizard. The added jar in the file path, on the screenshot, is of course my library which has the data source.

     

    Based on above exception it seems that the JasperReports jar is missing in classpath. I think I shouldn't add it in the dialog because it should be already provided. However, if I add it, the above exception disappear, but the new rise:

    java.lang.ClassCastException: de.psi.ee.xch.jr.dataSource.timeseries.TimeSeriesDataSourceProvider cannot be cast to net.sf.jasperreports.engine.JRDataSourceProvider

    at net.sf.jasperreports.data.provider.DataSourceProviderDataAdapterService.getProvider(DataSourceProviderDataAdapterService.java:89)

    at net.sf.jasperreports.data.provider.DataSourceProviderDataAdapterService.contributeParameters(DataSourceProviderDataAdapterService.java:111)

    at net.sf.jasperreports.data.AbstractDataAdapterService.test(AbstractDataAdapterService.java:128)

    at com.jaspersoft.studio.data.wizard.AbstractDataAdapterWizard$3.run(AbstractDataAdapterWizard.java:162)

    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)


    Attachments:

    User Feedback

    Recommended Comments

    Changed Assigned User from @anonymous to -


    I've experienced it on version 6.1.1.The problem is when you try to pick in customDS class extending net.sf.jasperreports.engine.data.JRAbstractBeanDataSourceProvider.I've traced it to missing part of the class path in:jaspersoftstudio-6.6.1-win64\plugins\com.jaspersoft.studio_6.1.1.final.jar\META-INF\MANIFEST.MF added additional package on: (net.sf.jasperreports.engine.data)com.jaspersoft.studio.wizards; uses:="net.sf.jasperreports.engine.dataand then I can create the DataAdapter with DataSource.Although I've managed by this fix CREATE the DS (the TEST does not fail with the NoClassDefFound) I can't really use it later on. I can't pick classes on DataSet Query Dialog => Java Bean. So there is more into it in other places probably.
    Link to comment
    Share on other sites


×
×
  • Create New...