Erro com Ireport 3.7.4 [RESOLVIDO]

Bom dia!!!

Troquei a versão do Ireport, mudei todos os jars, porém o netbeans me lança o seguinte erro:

log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment). log4j:WARN Please initialize the log4j system properly.

Um arquivo pdf é gerado, porém quando vou abrir o arquivo aparece a seguinte mensagem de erro:

Abaixo o código:

[code]
public void doCartaCliente(Field lote, Field produtor, Field fazenda) {
Connection conn = null;
try {
System.out.println(“Gerando relatório…”);

        //cria a conexão com o banco de dados
        conn = Conexao.getConnection();

        System.out.println(fazenda.getNome());
        System.out.println(lote.getId());
        System.out.println(produtor.getId());

        //Passando parâmetros para o HashMap
        Map parameterMap = new HashMap<String, Object>();
        parameterMap.put("fazenda", fazenda.getNome());
        parameterMap.put("idlote", lote.getId());
        parameterMap.put("idprodutor", produtor.getId());

        String arquivo = "C:/Arquivos de Programas/Unifertil/reports/cartaCliente.jasper";
        
        JasperPrint jp = JasperFillManager.fillReport(arquivo,
                parameterMap, conn);

        File file = new File(System.getenv("APPDATA") + "/" + FOLDERNAME);
        if (!(file.exists()) || !(file.isDirectory())) {
            file.mkdir();
        }

        JasperExportManager.exportReportToHtmlFile(
                jp, System.getenv("APPDATA") + "/" + FOLDERNAME + "/" + "cartaCliente_" + fazenda.getNome() + ".pdf");
        File pdf = new File(System.getenv("APPDATA") + "/" + FOLDERNAME + "/" + "cartaCliente_" + fazenda.getNome() + ".pdf");
        Desktop.getDesktop().open(pdf);



    } catch (Exception ex) {
        new FrameErro("Erro na geração de Etiquetas", ex);
        ex.printStackTrace();
    }
}[/code]

Alguém poderia me ajudar?

Grata desde já!

olá APaulinha,

geralmente isso:

é configuração do log4j

vê se ajuda:
http://www.guj.com.br/posts/list/200228.java
http://javafree.uol.com.br/viewtopic.jbb?p=189898&page=1

qualquer coisa posta a exception inteira.

Obrigada pela atenção pedruhenrik!

Dei uma olhada nos tópicos que me indicou e não deu certo! :frowning:

Quando eu tiro o jar do log4j nenhum erro é retornado, o pdf é gerado mas sem nenhuma informação.

E com o jar o erro apresentado é o que já postei também. Não há mais nenhuma linha de erro!

opa magina, heheh

q coisa ñ tem mais nada no e.printstracktrace(); ??? rsrs

se vc tentar abrir o relatório direto pelo ireport da certo?

ahh, o arquivo .pdf q ele salva, o que acontece se vc tentar abrir direto pelo leitor de .pdf???

apenas a nível de teste fiz uma atualização no seu código, se tiver como testar e vê se o relatório aparece…heheh

import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.view.JasperViewer;

public void doCartaCliente(Field lote, Field produtor, Field fazenda) {
        Connection conn = null;
        try {
            System.out.println("Gerando relatório...");

            //cria a conexão com o banco de dados
            conn = Conexao.getConnection();

            System.out.println(fazenda.getNome());
            System.out.println(lote.getId());
            System.out.println(produtor.getId());

            //Passando parâmetros para o HashMap
            Map parameterMap = new HashMap&lt;String, Object&gt;();
            parameterMap.put("fazenda", fazenda.getNome());
            parameterMap.put("idlote", lote.getId());
            parameterMap.put("idprodutor", produtor.getId());

            String arquivo = "C:/Arquivos de Programas/Unifertil/reports/cartaCliente.jasper";
            
            JasperPrint jp = JasperFillManager.fillReport(arquivo,
                    parameterMap, conn);

            File file = new File(System.getenv("APPDATA") + "/" + FOLDERNAME);
            if (!(file.exists()) || !(file.isDirectory())) {
                file.mkdir();
            }

            JasperExportManager.exportReportToHtmlFile(
                    jp, System.getenv("APPDATA") + "/" + FOLDERNAME + "/" + "cartaCliente_" + fazenda.getNome() + ".pdf");
            File pdf = new File(System.getenv("APPDATA") + "/" + FOLDERNAME + "/" + "cartaCliente_" + fazenda.getNome() + ".pdf");
            
            //apenas a nivel de teste pedru
            JasperExportManager.exportReportToPdfFile(jp,"c:/pdf.pdf");

            JasperViewer view = new JasperViewer(jp, false);

            view.setExtendedState(JasperViewer.MAXIMIZED_BOTH);
            view.setDefaultCloseOperation(JasperViewer.DISPOSE_ON_CLOSE);

            view.setVisible(true);
            //acaba o teste pedru

        } catch (Exception ex) {
            new FrameErro("Erro na geração de Etiquetas", ex);
            ex.printStackTrace();
        }
    }

espero ter ajudado e boa sorte! ^^

.

Não tem mais nada…

Sim!!!

No diretório onde é gerado o pdf é criado esses arquivos em uma nova pasta com o mesmo nome do arquivo pdf:

Seu código deu certo!!!

:stuck_out_tongue:

Muito Obrigada!!!

eita…rsrs

vc conseguiu testar com aquela alteração que eu fiz?

tenta gerar o arquivo só q sem espaços no nome, só a nível de superstição haha.

Sim!!! Só mudei o diretorio de onde estava salvando o relatório.
Porém a mensagem de erro ainda aparece. Só que o relatório abre.

então,

na verdade isso:

não é um erro, é só um warning pq talvez deve ter algo q ñ esta configurado no log4j.xml
e se fosse um erro tb o frame abaixo seria executado né? algo q acho q ñ esta sendo executado.

pelo q eu entendi o sistema é Desktop?

só confere esse trecho:

acho q ele só é valido p/ jre 1.6

e esse aqui:

//apenas a nivel de teste pedru  
JasperExportManager.exportReportToPdfFile(jp,"c:/pdf.pdf");  
JasperViewer view = new JasperViewer(jp, false);  
view.setExtendedState(JasperViewer.MAXIMIZED_BOTH);  
view.setDefaultCloseOperation(JasperViewer.DISPOSE_ON_CLOSE);
view.setVisible(true);
//acaba o teste pedru  

é um utilitario de visualização do ireport, eu uso ele mais a p/ testar os relatórios, não sei bem as vantagens e desvatagens de utilizar ele.

ajudou em algo? ehehe

boa sorte! ^^

Valeu pela ajuda pedruhenrik!!!

Bom… Tirei o jar log4j da minha aplicação e tudo continuou funcionando perfeitamente e sem a Warning.

Muito Obrigada! :wink:

uhuuu!

parabéns!

heheh

sucesso é nosso! ^^

até

estou com dificuldade ao utilizar o ireport …
quando executo o programa… aparece esse erro:
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread “AWT-EventQueue-0” java.lang.NoSuchMethodError: net.sf.jasperreports.engine.component.DefaultComponentManager.setDesignConverter(Lnet/sf/jasperreports/engine/component/ComponentDesignConverter;)V
at net.sf.jasperreports.components.ComponentsExtensionsRegistryFactory.(ComponentsExtensionsRegistryFactory.java:103)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:161)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:119)
at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:57)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.instantiateRegistry(DefaultExtensionsRegistry.java:211)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:188)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:141)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getRegistries(DefaultExtensionsRegistry.java:127)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:104)
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:57)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:188)
at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:94)
at relatorios.util.MostraRelatorio.abreRelatorio(MostraRelatorio.java:75)
at relatorios.util.MostraRelatorio.access$000(MostraRelatorio.java:22)
at relatorios.util.MostraRelatorio$1.actionPerformed(MostraRelatorio.java:96)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6267)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6032)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

cara,
1º crie um post seu mesmo e sim discuta dentro dele o que esta ocorrendo no seu programa…

olhe

http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor/5

abrxx

Tive o mesmo problema da Paulinha e o hibernate não deixava persistir os dados, tirei o jar Log4J da biblioteca e advinhem… funcionou perfeitamente!