Problema em chamar Relatorio gerado pelo iReport

5 respostas
S

galera comecei a usar u ireport esses dias junto com u netbeans

o problema eh q naum tow conseguindo chamar um relatorio q foi gerado atraves di um botão

tenho o seguinte codigo

URL arquivo = getClass().getResource("report1.jasper");
    JasperReport jasperReport = (JasperReport) JRLoader.loadObject(arquivo);
    
    Connection con = ConnectDB.createConnection();

    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null,con);
    
    JasperViewer jrviewer = new JasperViewer(jasperPrint, false);
    jrviewer.setVisible(true);

eu jah procurei o q q coloca no parametro mais num consigo fazer

com esse codigo ae tenho o seguinte erro:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)

alguem pode mi ajudar ae, soh quero fazer com q u relatorio aparece ao clicar em um botao

agradeço desde jah!

5 Respostas

jzaires

Boa tarde skyter_666,

Já tive esse erro uma vez, não me lembro se foi assim que resolvi, mas pode ser colocando todo o nome do
pacote na linha “01”, por exemplo:

URL arquivo = getClass().getResource("/br/com/guj/forum/report1.jasper");

Em relação ao uso de parâmetros, é o seguinte:
Quando você criou os relatórios no iReport deve ter criado os tais parâmetros que precisa, os “$P{NomeDoParametro}”.
Você usa assim:

Map parametros = new HashMap();
parametros.put([b]"NomeDoParametroSem$P{}[/b]", [b]ValorPassadoPeloUsuario[/b]);

Como a query fica no próprio relatório, o ireport altera o valor passado no lugar respectivo a que pertence:

Select nome, idade FROM pessoa Where idade <= $P{IDADE}

para

Select nome, idade FROM pessoa Where idade <= ValorPassadoPeloUsuario

Você passa eles como parâmetro pelo método:

Espero ter ajudado.

Abraço.

J

ola pessoal eu estou com um erro aqui quando eu chamo o relatório do ireport no sistema, e passo os parametros ele me da o seginte erro

Ocorreu o seguinte erro ao gerar o relatório: Erro ao gerar relatório. Verifique a saída do programa:

Exception in thread "main"

java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException

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

at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)

at java.lang.Class.getConstructor0(Unknown Source)

at java.lang.Class.newInstance0(Unknown Source)

at java.lang.Class.newInstance(Unknown Source)

at net.sf.jasperreports.engine.design.JRDefaultCompiler.getCompiler(JRDefaultCompiler.java:201)

at net.sf.jasperreports.engine.design.JRDefaultCompiler.loadEvaluator(JRDefaultCompiler.java:216)

at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:410)

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

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:57)

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

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

at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfFile(JasperRunManager.java:122)

at br.com.infoger.Relatorio.Utilitario.Gerador.GeradorRelatorio.gerar(GeradorRelatorio.java:43)

at br.com.infoger.Relatorio.Utilitario.Gerador.ProcessadorLinhaComando.(ProcessadorLinhaComando.java:53)

at br.com.infoger.Relatorio.Utilitario.Gerador.ProcessadorLinhaComando.main(ProcessadorLinhaComando.java:27)

Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.control.CompilationFailedException

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)

 19 more

:?:

jzaires

Vc colocou todos os jar’s na aplicação?

Normalmente importamos esses:

[list]commons-beanutils[/list]
[list]commons-collections[/list]
[list]commons-digester[/list]
[list]commons-javaflow[/list]
[list]commons-lologging-api[/list]
[list]itext[/list]
[list]jasperreports[/list]
[list]groovy-all-X.X.X[/list]

Acredito que falta o último aí.

Espero ter ajudado.

J

vou ver se é
valeu pela resposta estou 2 dias
tentando resolver esse problema

jzaires

De nada, comecei com iReport a umas semanas também.

Criado 20 de julho de 2010
Ultima resposta 22 de jul. de 2010
Respostas 5
Participantes 3