Olá, pessoal
Tenho trabalhado num relatório Jasper em que a fonte de dados (DataSource) é um coleção Java, especificamente uma lista (List) carregada no código por um objeto JRBeanCollectionDataSource. Essa lista é gerada a partir de um método que faz uma consulta no banco de dados (utilizo JPA/Hibernate + MySQL), como exemplificado no código abaixo:
public Class DataSource{
//definicoes da classe
public static List<MeuObjeto> constructDataSource() throws Exception{
List<MeuObjeto> dataSource = new ArrayList<MeuObjeto>();
MeuObjeto meuObjeto = utilitarioJPA.getObjetoPorId(10);
dataSource.add(meuObjeto);
return dataSource;
}
}
O problema está na confecção do relatório no iReport: eu tentei criar uma nova DataSource, utilizando um JavaBean com o método estático acima que deve retornar a coleção. Mas sempre que eu tento testar a conexão o iReport acusa o seguinte erro:
NoClassDefFoundError!!
Check your classpath!
Could not initialize class dataSource.DataSource!!
Antes, mostra um erro semelhante só que com JPA. Já coloquei o .jar do projeto que contém o JavaBean e da biblioteca toplink-essentials.jar no CLASSPATH do iReport, mas não surtiu efeito.
Alguma sugestão?