2011-08-30 48 views
2

我正在使用JasperReports NetBeans插件。
我想提供我的数据作为bean的集合。
所以我做了两件事情:
1)实现建立JasperReports的IDE下的NetBeans(iReports)使用它一个非常简单的工厂类,返回集合
JasperReports JavaBeans设置Datasource,常规错误

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):
点击报告数据源图标,出现“连接/数据源对话框”
点击新建,选择JavaBean设置数据源:出现对话框。
在name属性中写入任何名称,MyFactory作为Factory类,createBeanCollection作为静态方法。

但是当你尝试用按钮的连接,它提供了:
“一般问题:
MyFactory”

我的下一个测试和线索:
- 写那并不是一个类名牛逼存在MyFactoryyyy - > ClassNotFound的异常
因此该类位于
- 写不存在createBeanCollectionnnnn一个静态方法名 - >常规问题 如此,因为错误是一样的,问题可能是找到方法。
有什么想法?

ADDED 如果我使用,作为类工厂,提供JasperReports的默认采样类,它似乎工作(连接succeded)。 com.jaspersoft.ireport.examples.SampleJRDataSourceFactory 现在我正在搜索此类的源代码。

ADDED 一旦重新启动IDE,问题就会失败。可能是一个缓存问题。我不会关闭这个问题,而是尝试重现问题并记录下来。

回答

1

需要定义空构造:

public MyFactory() {};