[URGENTE] IReport - Problema com JRBeanCollectionDataSource

Falae galera … Estou com um problema… estou tentando passar um JRBeanCollectionDataSource pro eu iReport porem acho que nessa passagem está gerando um erro.

Minha Classe Bean:

[code]public class LivroBean {

private String titulo;
private String autor;
private String editora;
private Integer npags;


// getters & setters

}
[/code]

Minha Classe que eu criei para ter uma collection e seu metodo exibir relatorio.

// Muitos Imports aqui^^

public class LivroBeanFactory {
	
	private List<LivroBean> listLivroBean = new ArrayList<LivroBean>();
	
		public void adicionarLivro(LivroBean lb){
			listLivroBean.add(lb);
		}
		
		public List<LivroBean> getListLivroBean(){
			return listLivroBean;
		}
		
		
		public void exibirRelatorio(){
			
			String caminhoRelJasper = "Livros.jasper";
			
			List llb = getListLivroBean();
			
			System.out.println(((LivroBean) llb.get(0)).getAutor());
			
			InputStream relJasper = getClass().getResourceAsStream(caminhoRelJasper);
			
			JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(llb);
			
			Map parametros = new HashMap();
			
			JasperPrint impressao = null;
			
				try{
					
					impressao = JasperFillManager.fillReport(relJasper,parametros,ds);
					JasperViewer viewer = new JasperViewer(impressao);
					
					viewer.setVisible(true);
					
				}catch(Exception e){
					
					e.printStackTrace();
				}
			
			
		}
	

}[/code]


No meu IReports já tentei buscar usando $F{nomeDobean) para os campos e tambem $P{nomeDoBean)

porem com os 2 obtenho o mesmo erro:

[code]Gabriel
Exception in thread "main" java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log;
	at java.lang.Class.getDeclaredFields0(Native Method)
	at java.lang.Class.privateGetDeclaredFields(Unknown Source)
	at java.lang.Class.getDeclaredField(Unknown Source)
	at java.io.ObjectStreamClass.getDeclaredSUID(Unknown Source)
	at java.io.ObjectStreamClass.access$700(Unknown Source)
	at java.io.ObjectStreamClass$2.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.io.ObjectStreamClass.<init>(Unknown Source)
	at java.io.ObjectStreamClass.lookup(Unknown Source)
	at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
	at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
	at java.io.ObjectInputStream.readClassDesc(Unknown Source)
	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
	at java.io.ObjectInputStream.readObject0(Unknown Source)
	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
	at java.io.ObjectInputStream.readSerialData(Unknown Source)
	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
	at java.io.ObjectInputStream.readObject0(Unknown Source)
	at java.io.ObjectInputStream.readArray(Unknown Source)
	at java.io.ObjectInputStream.readObject0(Unknown Source)
	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
	at java.io.ObjectInputStream.readSerialData(Unknown Source)
	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
	at java.io.ObjectInputStream.readObject0(Unknown Source)
	at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
	at java.io.ObjectInputStream.defaultReadObject(Unknown Source)
	at net.sf.jasperreports.engine.base.JRBaseReport.readObject(JRBaseReport.java:732)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
	at java.io.ObjectInputStream.readSerialData(Unknown Source)
	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
	at java.io.ObjectInputStream.readObject0(Unknown Source)
	at java.io.ObjectInputStream.readObject(Unknown Source)
	at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:194)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:603)
	at LivroBeanFactory.exibirRelatorio(LivroBeanFactory.java:44)
	at MainClass.main(MainClass.java:29)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.Log
	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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	... 40 more

Reparem que eu fiz um debugzinho usando System.out.println e ele chegou a pegar meu nome na Lista…

Alguem Pode me ajudar? é meio que urgente…

Obrigado desde já.

na verdade eu nem tinha configurado o data source no ireports e lá diz para colocar uma Classe com um metodo estático para chamar o array/collection

Então modifiquei a estrutura do programa mais mesmo assim ele da um erro:

Alguem ajuda
?

Vi que não há necessidade de configurar nada no ireports só passar o DS isso procede?

abraço