
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)

Recommended Comments