Bom, sou novo aqui e com Java tb, o "causo " é o seguinte, eu fiz um projeto utilizando o NetBeans 7.2.1, compila certinho, e pra gerar recibos e relatórios
utilizei o iReport, na minha máquina chama os relatórios:
- fiz a pasta default relatorio que chamo assim.
public void relatórioGeralForn() {
InputStream inputStream;
inputStream = getClass().getResourceAsStream("/RelFornCadastrados.jasper");
// mapa de parâmetros do relatório (ainda vamos aprender a usar)
Map parametros = new HashMap();
try {
// abre o relatório
ReportUtils.openReport("rRelFornCadastrados", inputStream, parametros,
ConnectionFactory.getSakilaConnection());
} catch (SQLException | JRException exc) {
}
}
Bom na minha máquina chama o relatorio, mais quando utilizei instaladores como o Jammer e o INOSetup , não chama os relatórios, eu ja copiei
a pasta relatórios e coloquei dentro da pas /dist/lib , ja coloquei em c:/
Não sei pra onde correr, alguem sabe me ajudar como fica a estrutura de pastas com esses relatorios do iReport? ou como corrijo isso?
E deixa eu adivinhar, graças a essa desgraça aqui
catch (SQLException | JRException exc) {
}
Se eu te perguntar qual a exceção gerada, você vai me dizer que não dispara exceção ou que não sabe… Certo?
Brother, só coloca exc.printStackTrace() para você identificar sua exception…
[quote=drsmachado]E deixa eu adivinhar, graças a essa desgraça aqui
catch (SQLException | JRException exc) {
}
Se eu te perguntar qual a exceção gerada, você vai me dizer que não dispara exceção ou que não sabe… Certo?[/quote]
drsmachado se a duvida de um iniciante te irrita, simplesmente não responda, não precise demonstrar seu comportamento agressivo e inútil em um Forum cujo objetivo principal é o aprendizado.
Passe bem!
[quote=drsmachado]E deixa eu adivinhar, graças a essa desgraça aqui
catch (SQLException | JRException exc) {
}
Se eu te perguntar qual a exceção gerada, você vai me dizer que não dispara exceção ou que não sabe… Certo?[/quote]
Não gera exceção pq na minha máquina funciona, inclusive o instalador, eu uso um Windows 7 64 bits ultimate, na minha máquina chama todos os relatórios
O meu problema ta justamente quando vou colocoar em outra maquina, o ss ta meio ruim mais da pra ver que não gerou nada de excessão(acho)
pelo que pesquisei seria o conteúdo da pasta dist, que tem a pasta lib e o arquivo.jar (ou zip).
vlw a resposta, eu coloquei e apareceu isso.
[EL Info]: 2013-01-29 10:43:47.571–ServerSession(25390208)–EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461
[EL Info]: 2013-01-29 10:43:48.325–ServerSession(25390208)–file:/C:/Users/MARCELO/Desktop/SOFTWARE DISKCACAMBA/DiskCacamba/build/classes/_diskcacambaPU login successful
[color=red]log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
[/color]
e não faço idéia o que significa
cria um pacote no seu projeto com o nome relatorios,
neste pacote adicione o seu arquivo jasper, altere a chamada da geração para:
[quote=javanovice]cria um pacote no seu projeto com o nome relatorios,
neste pacote adicione o seu arquivo jasper, altere a chamada da geração para:
inputStream = getClass().getResourceAsStream("/relatorios/RelFornCadastrados.jasper");
[/quote]
pra eu conseguir fazer chamar os relatórios na minha máquina eu fiz o seguinte, clicquei com o botão direito em cima do nome do projeto, e fui em propriedades, depois adicionei uma pasta padrão chamada relatorios, com Label Relatórios
e se eu mudo a chamada dai para de funcionar até no meu pc
[quote=javanovice][quote=drsmachado]E deixa eu adivinhar, graças a essa desgraça aqui
catch (SQLException | JRException exc) {
}
Se eu te perguntar qual a exceção gerada, você vai me dizer que não dispara exceção ou que não sabe… Certo?[/quote]
drsmachado se a duvida de um iniciante te irrita, simplesmente não responda, não precise demonstrar seu comportamento agressivo e inútil em um Forum cujo objetivo principal é o aprendizado.
Passe bem![/quote]
Quem é você mesmo?
Primeiro, um iniciante não estaria fazendo algo com o iReport.
Quando você for capaz de entender que há problemas de verdade e falta de atenção, poderá ter o privilégio de se dirigir a mim.
E não, não passe bem.
vlw a resposta, eu coloquei e apareceu isso.
[EL Info]: 2013-01-29 10:43:47.571–ServerSession(25390208)–EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461
[EL Info]: 2013-01-29 10:43:48.325–ServerSession(25390208)–file:/C:/Users/MARCELO/Desktop/SOFTWARE DISKCACAMBA/DiskCacamba/build/classes/_diskcacambaPU login successful
[color=red]log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
[/color]
e não faço idéia o que significa
[/quote]
É apenas isto que o stackTrace imprime? Por que eu tenho a impressão que estão faltando informações nisto aí?
Sim é tudo, acho que não consegui me fazer entender, e peço desculpa por isso, mais o projeto esta funcionando perfeitamente, os relatórios são chamados e essa é a unica excessão gerada, a minha duvida é quanto ao problema no intalador pra outra máquina, eu achei que fosse erro no instalador e copiei a o conteudo da pasta dist do projeto, isso depois de construir, ai quando executo o jar em outro pc ele funciona, só não chama os formulários
Talvez o erro esteja no seu relatorio, voce verificou o caminho dele no IReport ?
Isso que aparece na exception:
Existe esse caminho na outra maquina que voce esta instalando o software ?
[quote=rof20004]Talvez o erro esteja no seu relatorio, voce verificou o caminho dele no IReport ?
Isso que aparece na exception:
Existe esse caminho na outra maquina que voce esta instalando o software ?[/quote]
Obrigado por postar, bom não verifiquei não,e como eu faço pra mudar isso? pra ele chamar uma pasta no c: por exemplo? eu tendei mudar a expressão para
Crie uma pasta no C: com nome Relatorios e colei todos os arquivos .jasper e .jrxml dentro
mais apareceu uma excessão com uma penca de linha: segue
[EL Info]: 2013-01-29 12:52:07.117--ServerSession(25888817)--EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461
[EL Info]: 2013-01-29 12:52:07.804--ServerSession(25888817)--file:/C:/Users/MARCELO/Desktop/SOFTWARE DISKCACAMBA/DiskCacamba/build/classes/_diskcacambaPU login successful
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2283)
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2296)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298)
at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.<init>(ContextClassLoaderObjectInputStream.java:53)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:214)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:405)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:824)
at utils.ReportUtils.openReport(ReportUtils.java:45)
at br.com.view.LocacaoView.abrirRelatorioClientes(LocacaoView.java:735)
at br.com.view.LocacaoView.jButton1ActionPerformed(LocacaoView.java:561)
at br.com.view.LocacaoView.access$1300(LocacaoView.java:28)
at br.com.view.LocacaoView$FormListener.actionPerformed(LocacaoView.java:474)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Existe sub-relatorio nesse seu relatorio ? Verifica um parametro chamado SUBREPORTDIR, e veja onde ele aponta.
Pra ser franco eu não sei, a não ser que ele crie subdiretórios sozinho, acho que não, e não achei nada de SUBREPORTDIR
imaginei que o erro estivesse na hora de chamar:
será que o “/” é o default, esse default seria o C: ? ou a psta dist? ou o
caminho do projeto C:\Users\MARCELO\Desktop\SOFTWARE DISKCACAMBA\DiskCacamba\relatorios?
Alguem sabe se existe a necessidade de exportar os relatorios? ou compilar os relatorios separadamente? teve um post que sugeriram uma solução mais no eclipse que seria
-
Clique direito no projeto => Export => selecionar em Java: JAR File => Next => selecionar o local do projeto: \workspace<nomeProjeto>\src => Finish.
-
Depois é só incluir no classpath do iReport => Ferramentas => Opções => Classpath => \diretorioProjeto<arquivo>.jar
-
Criar a conexão e testar.
o problema é como fazer isso no netbeans
Acho que encontrei um rumo, porém não consegui resolver ainda, eu uso o NetBeans 7.2.1, eu não sei como adiciono os relatórios no classpath.
http://javafree.uol.com.br/topic-872557-Jar-nao-abre-relatorios.html
opa blz cara então no eclipse eu faço dessa forma.
Manifest-Version: 1.7
Specification-Title: "seu projeto"
Specification-Version: "1.0.1"
Specification-Vendor: "Eu"
Class-Path: lib/backport175-1.1.RC1-snapshot.jar lib/barbecue-1.1.jar lib/bsad-framework-components-cryptography-2.0.1.jar lib/bsad-framework-utilities-1.2.jar lib/bsf-2.4.0.jar lib/bsh-2.0b4.jar lib/commons-beanutils-1.7.jar lib/commons-collections-2.1.jar lib/commons-dbcp-1.2.2.jar lib/commons-digester-1.8.jar lib/commons-el-1.0.jar
lib/commons-jxpath-1.2.jar lib/commons-pool-1.3.jar lib/commons-validator-1.3.1.jar lib/derby.jar lib/derbyclient.jar lib/derbynet.jar lib/derbytools.jar lib/genesis-annotation-jdk5-3.1.jar lib/genesis-client-3.1.jar lib/genesis-client-swing-3.1.jar lib/genesis-shared-annotated-3.1.jar lib/itext-1.3.1.jar
lib/jakarta-taglibs-standard-1.1.2.jar lib/jcommon-1.0.2.jar lib/jdtcore-3.1.0.jar lib/js-1.6R5.jar lib/jsp-api.jar lib/jxl-2.6.4.jar lib/log4j-1.2.13.jar lib/swing-layout-1.0.jar lib/validation-1.4.0.jar lib/xml-apis-1.3.02.jar lib/jakarta-oro-2.0.8.jar lib/swing-worker.jar lib/swingx-0.9.1.jar lib/reusable-components-20060810.jar
lib/activation-1.0.2.jar lib/bsad-framework-controller-1.2.jar lib/commons-codec-1.3.jar lib/commons-httpclient-3.0.jar lib/VPRS-NumeroControle.jar lib/j2ee.jar lib/jaxen-1.1-beta-8.jar lib/jdom-1.0.jar lib/mail-1.3.3_01.jar lib/spring-1.2.6.jar lib/stax-api-1.0.1.jar lib/xbean-2.1.0.jar lib/xbean-spring-2.2.jar lib/xfire-all-1.2.5.jar
lib/xml.jar lib/XmlSchema-1.1.jar lib/fontbox-1.1.0.jar lib/pdfbox-1.1.0.jar lib/swingx_v0102.jar lib/ajuda-lib.jar lib/jhall.jar lib/jasperreports-3.0.0.jar lib/iReport.jar lib/saaj.jar lib/wsdl4j-1.5.1.jar lib/commons-discovery-0.2.jar
lib/sdk-base.jar lib/sdk-provider.jar lib/jtablet.jar lib/wstx-asl-2.9.jar lib/lui.jar lib/axis-ant.jar lib/axis.jar lib/jaxrpc.jar lib/vprs-inclusaovidas.jar lib/vprs-consultarapolice.jar lib/vprs-webservice.jar lib/commons-logging-1.0.4.jar
Main-Class: main.Main
se for isso que esta pedindo e que entendi, pode ser isso, pois tive um problema quando gerava o setup e não imprimia o relatório por completo.
obs: a versão é do 3.0.0
[quote=RiQuInHo_$_$]opa blz cara então no eclipse eu faço dessa forma.
Manifest-Version: 1.7
Specification-Title: "seu projeto"
Specification-Version: "1.0.1"
Specification-Vendor: "Eu"
Class-Path: lib/backport175-1.1.RC1-snapshot.jar lib/barbecue-1.1.jar lib/bsad-framework-components-cryptography-2.0.1.jar lib/bsad-framework-utilities-1.2.jar lib/bsf-2.4.0.jar lib/bsh-2.0b4.jar lib/commons-beanutils-1.7.jar lib/commons-collections-2.1.jar lib/commons-dbcp-1.2.2.jar lib/commons-digester-1.8.jar lib/commons-el-1.0.jar
lib/commons-jxpath-1.2.jar lib/commons-pool-1.3.jar lib/commons-validator-1.3.1.jar lib/derby.jar lib/derbyclient.jar lib/derbynet.jar lib/derbytools.jar lib/genesis-annotation-jdk5-3.1.jar lib/genesis-client-3.1.jar lib/genesis-client-swing-3.1.jar lib/genesis-shared-annotated-3.1.jar lib/itext-1.3.1.jar
lib/jakarta-taglibs-standard-1.1.2.jar lib/jcommon-1.0.2.jar lib/jdtcore-3.1.0.jar lib/js-1.6R5.jar lib/jsp-api.jar lib/jxl-2.6.4.jar lib/log4j-1.2.13.jar lib/swing-layout-1.0.jar lib/validation-1.4.0.jar lib/xml-apis-1.3.02.jar lib/jakarta-oro-2.0.8.jar lib/swing-worker.jar lib/swingx-0.9.1.jar lib/reusable-components-20060810.jar
lib/activation-1.0.2.jar lib/bsad-framework-controller-1.2.jar lib/commons-codec-1.3.jar lib/commons-httpclient-3.0.jar lib/VPRS-NumeroControle.jar lib/j2ee.jar lib/jaxen-1.1-beta-8.jar lib/jdom-1.0.jar lib/mail-1.3.3_01.jar lib/spring-1.2.6.jar lib/stax-api-1.0.1.jar lib/xbean-2.1.0.jar lib/xbean-spring-2.2.jar lib/xfire-all-1.2.5.jar
lib/xml.jar lib/XmlSchema-1.1.jar lib/fontbox-1.1.0.jar lib/pdfbox-1.1.0.jar lib/swingx_v0102.jar lib/ajuda-lib.jar lib/jhall.jar lib/jasperreports-3.0.0.jar lib/iReport.jar lib/saaj.jar lib/wsdl4j-1.5.1.jar lib/commons-discovery-0.2.jar
lib/sdk-base.jar lib/sdk-provider.jar lib/jtablet.jar lib/wstx-asl-2.9.jar lib/lui.jar lib/axis-ant.jar lib/axis.jar lib/jaxrpc.jar lib/vprs-inclusaovidas.jar lib/vprs-consultarapolice.jar lib/vprs-webservice.jar lib/commons-logging-1.0.4.jar
Main-Class: main.Main
se for isso que esta pedindo e que entendi, pode ser isso, pois tive um problema quando gerava o setup e não imprimia o relatório por completo.
obs: a versão é do 3.0.0[/quote]
Vc coloca esse código onde?
Pra ser franco eu não sei, a não ser que ele crie subdiretórios sozinho, acho que não, e não achei nada de SUBREPORTDIR
imaginei que o erro estivesse na hora de chamar:
será que o “/” é o default, esse default seria o C: ? ou a psta dist? ou o
caminho do projeto C:\Users\MARCELO\Desktop\SOFTWARE DISKCACAMBA\DiskCacamba\relatorios?[/quote]
MarceloMVT até onde eu seu o caminho que você passou “/relatoriogeral.jasper” quer dizer que o arquivo relatoriogeral.jasper está dentro da mesma pasta do seu .JAR que você converteu para .EXE. O melhor seria criar uma pasta para ele e passar por exemplo “/Relatorios/relatoriogeral.jasper”. Esse erro só ocorre quando você converte para um instalador .EXE?