IReport

10 respostas
I

Bom dia a todos!
Galera estou dando os primeiros passos com o IReport. Na mnha aplicação eu não trabalho com persistencia e sim com um List para fazer o meu relatório.
Baseado em um tutorial fiz um exemplo que ele me deu, mas não dá certo.

String caminhoRelJasper = "c:/Teste.jasper";//no tutorial ele não coloca caminho, apenas Teste.jasper ///como estava gerando excecao, pensei que poderia ser caminho. List list = getLivros(); InputStream relJasper = getClass().getResourceAsStream(caminhoRelJasper);//onde é gerada a excecao JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list); Map map = new HashMap(); map.put("pathSubRel", caminhoRelJasper); JasperPrint impressao = JasperFillManager.fillReport(relJasper, map, ds); JasperViewer viewer = new JasperViewer(impressao, true); viewer.setVisible(true);

Ele diz que a variavel relJasper é null.
Já modifiquei o path varias vezes, mas não dá.

Quando eu coloco o .jasper no src do projeto ele gera a seguinte excecao

Exception in thread main java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log;

at java.lang.Class.getDeclaredFields0(Native Method)

at java.lang.Class.privateGetDeclaredFields(Class.java:2291)

at java.lang.Class.getDeclaredField(Class.java:1880)

at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1610)

at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:52)

at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:425)

at java.security.AccessController.doPrivileged(Native Method)

at java.io.ObjectStreamClass.(ObjectStreamClass.java:413)

at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:310)

at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:547)

at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)

at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)

at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:196)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:580)

at TesteIReport.Inicio.exibirRelatorio(Inicio.java:54)

at TesteIReport.Inicio.main(Inicio.java:70)

Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.Log

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188 )

at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

 33 more

Alguém me dá uma luz aê!
:slight_smile:

vlw!!

10 Respostas

F

Coloque seu .jasper na mesma pacote de sua classe, e retire o C:/

[]'s

I

Felagund, desculpa kra!
Eu tinha esquecido dessa parte, mas eu ajeitei!
:slight_smile:
Olha lá por favor a excecao que ele gera quando eu coloco o .jasper no src da aplicação!

V

O correto é voce coloar no src ou em algum pacote do seu projeto

InputStream relJasper = getClass().getResourceAsStream("/myFile.jasper");//qndo for sorce
InputStream relJasper = getClass().getResourceAsStream("/br/com/projeto/ireport/myFile.jasper");//qndo for pacote

sobre a exception
Exception in thread “main” java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log;

Voce tem que ter o .jar:
commons-logging.jar

I
blz, agora deu pau em outro canto!

srsrsr

ele ta gerando a seguinte excecao:

Exception in thread main java.lang.NoClassDefFoundError: org/apache/commons/collections/ReferenceMap

at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.(DefaultExtensionsRegistry.java:99)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at java.lang.Class.newInstance0(Class.java:355)

at java.lang.Class.newInstance(Class.java:308)

at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:63)

at net.sf.jasperreports.extensions.ExtensionsEnvironment.createDefaultRegistry(ExtensionsEnvironment.java:84)

at net.sf.jasperreports.extensions.ExtensionsEnvironment.(ExtensionsEnvironment.java:72)

at net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:81)

at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:175)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:77)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:59)

at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)

at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:83)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:582)

at TesteIReport.Inicio.exibirRelatorio(Inicio.java:54)

at TesteIReport.Inicio.main(Inicio.java:70)

Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.ReferenceMap

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

 20 more

:?

F

ta falando o jar commons-collections

I

Valeu pela ajuda galera!
Consegui!
:smiley:

C

Amigo onde vc ez download e quais vc colocou na biblioteca?

C

Amigo vc pode me falar todos os .Jar
para uma aplicação descktop usando meu iReport 3.7.0 ou o 3.5.2 mesmo?

D

os jars voce pode pegar… fika dentro da pasta do ireport

C:\Arquivos de programas\Jaspersoft\iReport-3.0.0\lib

C

dudu_sps:
os jars voce pode pegar… fika dentro da pasta do ireport

C:\Arquivos de programas\Jaspersoft\iReport-3.0.0\lib

Nesse tempo do 3.0.0 né pq me parece que achei nesse caminho
[color=blue]C:\Arquivos de programas\JasperSoft\iReport-3.7.0\ireport\modules\ext[/color]

Criado 15 de junho de 2009
Ultima resposta 8 de jan. de 2010
Respostas 10
Participantes 5