Ajuda Erro no JRResultSetDataSource do Ireport [Resolvido]
12 respostas
P
paulofsz
Galera preciso de ajuda?
Meu relatorio esta abrindo normalmente o ireport mas quando vou chamar ele na aplicação da erro na linha abaixo
JRResultSetDataSource jrRS = new JRResultSetDataSource(con.rs);
packagerelatorios;importjava.util.HashMap;importjavax.swing.JOptionPane;importnet.sf.jasperreports.engine.JRResultSetDataSource;importnet.sf.jasperreports.engine.JasperFillManager;importnet.sf.jasperreports.engine.JasperPrint;importnet.sf.jasperreports.view.JasperViewer;importutil.Conexao;publicclassrelatCidade{ConexaoconRela=newConexao();publicrelatCidade(){try{conRela.conectar();conRela.comandoBuscar("SELECT * from pedidos");JRResultSetDataSourcejrRS=newJRResultSetDataSource(conRela.rs);JasperPrintjasperPrint=JasperFillManager.fillReport("relatorios/relCidades.jasper",newHashMap(),jrRS);JasperViewer.viewReport(jasperPrint);}catch(Exceptionerro){JOptionPane.showMessageDialog(null,"deu erro ="+erro);}}publicstaticvoidmain(Stringargs[]){newrelatCidade();}}
O erro que ocorre e este!
[color=red]
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at net.sf.jasperreports.engine.util.JRLoader.(JRLoader.java:67)
at net.sf.jasperreports.engine.JRPropertiesUtil.loadProperties(JRPropertiesUtil.java:99)
at net.sf.jasperreports.engine.DefaultJasperReportsContext.initProperties(DefaultJasperReportsContext.java:94)
at net.sf.jasperreports.engine.DefaultJasperReportsContext.(DefaultJasperReportsContext.java:71)
at net.sf.jasperreports.engine.DefaultJasperReportsContext.(DefaultJasperReportsContext.java:59)
at net.sf.jasperreports.engine.JRResultSetDataSource.(JRResultSetDataSource.java:94)
at relatorios.Relat_clientes2.(Relat_clientes2.java:25)
at relatorios.Relat_clientes2.main(Relat_clientes2.java:43)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 8 more
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)
[/color]
Esta faltando o jar commons-logging ou esta em conflito.
Se possui esse jar verifique a versão.
Abraços.
Fica com DEUS.
P
paulofsz
Fexx:
Esta faltando o jar commons-logging ou esta em conflito.
Se possui esse jar verifique a versão.
Abraços.
Fica com DEUS.
Fex deu Certo Amigo? Adcionei umas jar ao projeto e funcionou!
Mas agora esta ocorrendo esse erro quando executo a classe se nao me engano parece que nao esta localizado o arquivo e isso?
Mas se for eu ja tentei com o caminho relativo e o completo
e o completo
[color=blue]E:\Projetos\Java SE\Beans\comida\src\relatorios\relClientes.jrxml[/color]
mas ambos apresenta o seguinte erro
[color=red]net.sf.jasperreports.engine.JRException: Error loading object from file : E:\Projetos\Java SE\Beans\comida\src\relatorios\relClientes.jrxml[/color]
o que pode ser meus amigos
P
paulofsz
Ai vao os jar necessarios pra quem um dia vier ter o mesmo problema!
Invés da barra ser \ tente ela ao contrario assim: / ou seja seu diretório ficará:
E:/Projetos/Java SE/Beans/comida/src/relatorios/relClientes.jrxml
Testa aí
Abraços.
Fica com DEUS.
P
paulofsz
Fexx:
Invés da barra ser \ tente ela ao contrario assim: / ou seja seu diretório ficará:
E:/Projetos/Java SE/Beans/comida/src/relatorios/relClientes.jrxml
Testa aí
Abraços.
Fica com DEUS.
Não Funcionou Fexx ja tinha testado isso antes olha como q ficou o cod, achei q era permissão do windows mas ja coloquei acesso total mas mesmo assim n funfou?
Você esqueceu de compilar o .jrxml.
Já que vc esta passando um tipo de arquivo .jrxml, o mesmo deve ser compilado.
Faça assim:
// compilação do JRXMLJasperReportreport=JasperCompileManager.compileReport("E:/Projetos/Java SE/Beans/comida/src/relatorios/relClientes.jrxml");JRResultSetDataSourcejrRS=newJRResultSetDataSource(conRela.rs);// passando o jrxml compilado para o fillReportJasperPrintjasperPrint=JasperFillManager.fillReport(report,null,jrRS);// exibindo o relatórioJasperViewer.viewReport(jasperPrint,false);
É só implementar o resto dos código, o objetivo foi mostrar a compilação do .jrxml antes de exibir.
Testa aí.
Abraços.
Fica com DEUS.
P
paulofsz
Fexx:
Você esqueceu de compilar o .jrxml.
Já que vc esta passando um tipo de arquivo .jrxml, o mesmo deve ser compilado.
Faça assim:
// compilação do JRXMLJasperReportreport=JasperCompileManager.compileReport("E:/Projetos/Java SE/Beans/comida/src/relatorios/relClientes.jrxml");JRResultSetDataSourcejrRS=newJRResultSetDataSource(conRela.rs);// passando o jrxml compilado para o fillReportJasperPrintjasperPrint=JasperFillManager.fillReport(report,null,jrRS);// exibindo o relatórioJasperViewer.viewReport(jasperPrint,false);
É só implementar o resto dos código, o objetivo foi mostrar a compilação do .jrxml antes de exibir.
Testa aí.
Abraços.
Fica com DEUS.
Fexx Deu outro erro agora mas antes de tudo queria agradecer a boa vontade e que Deus o abençoe!!
A classe ficou assim:
packageForms;importjava.util.HashMap;importnet.sf.jasperreports.engine.JRResultSetDataSource;importnet.sf.jasperreports.engine.JasperCompileManager;importnet.sf.jasperreports.engine.JasperFillManager;importnet.sf.jasperreports.engine.JasperPrint;importnet.sf.jasperreports.engine.JasperReport;importnet.sf.jasperreports.view.JasperViewer;importutil.Conexao;publicclassrelatPedidos{ConexaoconRela=newConexao();publicrelatPedidos(){try{conRela.conectar();conRela.comandoBuscar("SELECT * from pedidos");// compilação do JRXML JasperReportreport=JasperCompileManager.compileReport("E:/Projetos/Java SE/Beans/comida/src/relatorios/relPedidos.jrxml");JRResultSetDataSourcejrRS=newJRResultSetDataSource(conRela.rs);// passando o jrxml compilado para o fillReport JasperPrintjasperPrint=JasperFillManager.fillReport(report,null,jrRS);// exibindo o relatório JasperViewer.viewReport(jasperPrint,false);}catch(Exceptionerro){//JOptionPane.showMessageDialog(null,"deu erro ="+erro);conRela.MostrarMsg2(erro.toString());}}publicstaticvoidmain(Stringargs[]){newrelatPedidos();}}
Agora ocorre este erro estou achando que e algum pau de versão dos jar importados. Pois tive que ficar catando um em cada lugar Você poderia me dizer quais jar devo importar e quais as versoes vc usa. Você conhece um download com um pacote te dos os jar necessarios para fazer essa class funcionar
[color=red]
run:
Abr 26, 2013 3:55:08 PM net.sf.jasperreports.engine.component.ComponentsEnvironment findBundles
WARNING: Found two components for namespace http://jasperreports.sourceforge.net/jasperreports/components
Abr 26, 2013 3:55:08 PM net.sf.jasperreports.engine.component.ComponentsEnvironment findBundles
WARNING: Found two components for namespace http://jasperreports.sourceforge.net/jasperreports/components
Abr 26, 2013 3:55:08 PM net.sf.jasperreports.engine.component.ComponentsEnvironment findBundles
WARNING: Found two components for namespace http://jasperreports.sourceforge.net/jasperreports/components
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:115)
at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:730)
at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:240)
at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:173)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:448)
at Forms.relatPedidos.(relatPedidos.java:35)
at Forms.relatPedidos.main(relatPedidos.java:55)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.control.CompilationFailedException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 10 more
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)
Tenta ai, em ultimo caso, eu crio um porjetinho e te mando, ai vc estuda em cima dele.
Abraços.
Fica com DEUS.
Fexx Deu certo cara valew pela ajuda ainda e bom saber que no mundo e na comunidade java ainda existe muitas pessoas dispostas as ajudar ao outro em troca de nada! so na boa vontade mesmo!
Era incompatibilidade com os jar mesmo! o link q tu me passou e o trecho de cod pra compilar o jrxml resolveu os problemas mais uma fez obrigado!!! :lol:
P
paulofsz
So Mais uma Pergunta como que eu fecho o forum como concluido???
Tenta ai, em ultimo caso, eu crio um porjetinho e te mando, ai vc estuda em cima dele.
Abraços.
Fica com DEUS.
Fexx Deu certo cara valew pela ajuda ainda e bom saber que no mundo e na comunidade java ainda existe muitas pessoas dispostas as ajudar ao outro em troca de nada! so na boa vontade mesmo!
Era incompatibilidade com os jar mesmo! o link q tu me passou e o trecho de cod pra compilar o jrxml resolveu os problemas mais uma fez obrigado!!! :lol:
Que isso cara, precisando é só falar
F
Fexx
Se não me falha a memória lá em seu primeiro post, vai ter um botão escrito: editar.
Clique nesse, ai é só editar seu post incluído a palavra: [RESOLVIDO]