Jasper Report não gera relatório no arquivo.jar

Olá,

eu tenho um projeto que gera relatórios e manda direto para impressora usando o Jasper Report. Funciona muito bem quando estou usando o NetBeans. Quando construo arquivo.jar e tento executá-lo, o programa não imprimi mais o relatório. Tentei visualizar mais tambem não consigo.

Alguém pode me ajudar com esse problema?
Obrigado…

Vc verificou se todos os jars necessarios para o jasper report funcionar estao na pasta lib de onde vc esta executando este arquivo.jar ?

[quote=jards]Olá,

eu tenho um projeto que gera relatórios e manda direto para impressora usando o Jasper Report. Funciona muito bem quando estou usando o NetBeans. Quando construo arquivo.jar e tento executá-lo, o programa não imprimi mais o relatório. Tentei visualizar mais tambem não consigo.

Alguém pode me ajudar com esse problema?
Obrigado…[/quote]

Bem, os jars que você usou para desenvolver a sua aplicação já estão no classpath do seu programa?
De uma consultada aqui no GUJ para saber como adicionar os jars que você utilizou no classpath da sua aplicação.

[]'s
JL

todos os jars necessarios estão no meu arquivo .jar, pois antes de postar dei uma olhada em dist\lib

rodei meu arquivo .jar pelo shell do DOS e simulei uma impressão e o erro que apareceu foi…

07/04/2009 14:20:54 frames.JInternalFrameImprimirFormularioPesquisa jButtonImpri
mirActionPerformed
SEVERE: null
net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: src\rela
torios\FormularioPesquisa.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:79
)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillMa
nager.java:232)
at frames.JInternalFrameImprimirFormularioPesquisa.jButtonImprimirAction
Performed(JInternalFrameImprimirFormularioPesquisa.java:139)
at frames.JInternalFrameImprimirFormularioPesquisa.access$000(JInternalF
rameImprimirFormularioPesquisa.java:32)
at frames.JInternalFrameImprimirFormularioPesquisa$1.actionPerformed(JIn
ternalFrameImprimirFormularioPesquisa.java:80)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: src\relatorios\FormularioPesquisa.jasp
er
… 30 more

Eu nao costumo passar o arquivo.jasper e sim um InputStream, vou te passar o metodo que utilizo para gerar meus relatorios, com a diferença q ele me retorna um byte[] de um pdf.

    public byte[] report(InputStream relatorio, Collection list, Map<String,Object> parameters) throws JRException {
        
        /* Cria o design apartir do reportStream */
        JasperReport jasperReport = (JasperReport) JRLoader.loadObject(relatorio);
        
        /* Cria um JRBeanCollection a partir de um list fornecido */
        JRBeanCollectionDataSource lista = new JRBeanCollectionDataSource(list);
        
        /* Prepara o relatorio para impressao */
        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, lista);
        
        return JasperExportManager.exportReportToPdf(jasperPrint);
    }

Para pegar o InputStream

getClass().getResourceAsStream("/resource/ireport/Agenda.jasper");

Amigo…

guando usei o InputStream com import java.io.InputStream deu o seguinte erro:

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2264)
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2277)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2748)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
at java.io.ObjectInputStream.(ObjectInputStream.java:280)
at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.(ContextClassLoaderObjectInputStream.java:57)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:195)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:361)
at relatorios.Relatorios.formularioPesquisa(Relatorios.java:42)
at frames.JInternalFrameImprimirFormularioPesquisa.jButtonImprimirActionPerformed(JInternalFrameImprimirFormularioPesquisa.java:131)
at frames.JInternalFrameImprimirFormularioPesquisa.access$000(JInternalFrameImprimirFormularioPesquisa.java:32)
at frames.JInternalFrameImprimirFormularioPesquisa$1.actionPerformed(JInternalFrameImprimirFormularioPesquisa.java:80)
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:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Ae galera…

Solucionei o problema…

Que mal lhe pergunte como solucionou o problema??

[code]utilizando o InputStream

InputStream formularioPesquisa = getClass().getResourceAsStream(“Formulario.jasper”);[/code]