我正在使用JasperReports NetBeans插件
我想将我的数据作为bean集合提供。
所以我做了两件事:
1)实现了一个非常简单的工厂类,它返回集合
public class MyFactory {
public static Collection<Person> createBeanCollection() {
ArrayList al = new ArrayList();
for (int i=0; i<10; i++) {al.add(new Person());}
return al;
}
}
2)设置JasperReports IDE(netbeans下的iReports)使用它:
单击Report Datasources图标,出现“Connection / Datasources对话框”
单击new,选择JavaBean set datasource:出现对话框
在name属性中写入任何名称,MyFactory作为Factory类,createBeanCollection作为静态方法。
但是当您尝试使用按钮连接时,它会给出:
“一般问题:
MyFactory“
我的下一个测试和线索是:
- 写一个不存在的类名MyFactoryyyy - &gt; ClassNotFound异常
所以等级IS位于
- 编写一个不存在的静态方法名称createBeanCollectionnnnn - &gt;一般问题
所以,由于错误是相同的,问题可能是定位方法
有什么想法吗?
ADDED 如果我作为类工厂使用JasperReports提供的默认Sample类,它似乎可以工作(Connection成功)。 com.jaspersoft.ireport.examples.SampleJRDataSourceFactory 现在我正在搜索这个类的源代码。
ADDED 一旦重新启动IDE,问题就会失败。可能是一个缓存问题。我不会关闭这个问题,而是会尝试重现问题并记录下来。
答案 0 :(得分:1)
需要定义null构造函数:
public MyFactory () {};