Relatório só roda dentro do NetBeans

Olá pessoal!
Criei um relatório com iReport e esta devidamente funcionando dentro do NetBenas, ou seja, ta executando. Mas, quando gero o “executável” (o jar que executo de qualquer máquina) ele não gera o relatório, clico no menu e não tem nenhuma reação. Para gerar o executável uso os seguintes passos postados por “Thiago Preco Schwartz” em http://preclog.blogspot.com/2010/03/criando-jar-no-netbeans-sem-pasta-lib.html
1) Mude para a visão de visualização de arquivos;
2) Localize (e abra :wink: o arquivo build.xml;
3) Insira o seguinte trecho de código no final do arquivo, antes da tag

01.<target name="package-for-store" depends="jar">  
02.        <property name="store.jar.name" value="NOME_DO_SEU_PROJETO"/>  03.  
04.  
05.        <!-- don't edit below this line -->  
06.  
07.        <property name="store.dir" value="store"/>  
08.        <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>  
09.  
10.        <echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>  
11.  
12.        <delete dir="${store.dir}"/>  
13.        <mkdir dir="${store.dir}"/>  
14.  
15.        <jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">  
16.            <zipgroupfileset dir="dist" includes="*.jar"/>  
17.            <zipgroupfileset dir="dist/lib" includes="*.jar"/>  
18.  
19.            <manifest>  
20.                <attribute name="Main-Class" value="${main.class}"/>  
21.            </manifest>  
22.        </jar>  
23.  
24.        <zip destfile="${store.jar}">  
25.            <zipfileset src="${store.dir}/temp_final.jar"  
26.            excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>  
27.        </zip>  
28.  
29.        <delete file="${store.dir}/temp_final.jar"/>  
30.  
31.    </target>  

4) Troque, na segunda linha, a string “NOME_DO_SEU_PROJETO” para o nome do seu projeto (que está na segunda linha do “build.xml”; Salve o arquivo;
5) Selecione a opção “Clean and rebuild” (Limpar e construir). Certifique-se que o Netbeans criou a pasta “dist”, contendo o jar da sua aplicação e a pasta “lib”;
6) Clique com o botão direito sobre o arquivo “build.xml”, selecione a opção “Run target” (executar destino), “Other targets” (Outros destinos) e a seguir “package-for-store”.

Alguém tem alguma dica, ou pode me ajudar?
Agradeço!

Qual o erro? Algum erro deve aparecer, provavelmente no seu console.

Att.

Não aparece!
Pq qdo rodo dentro do netbeans ele roda sem problemas gerando o relatório em pdf.
Aparece apenas um aviso:

23/03/2011 12:27:52 net.sf.jasperreports.engine.component.ComponentsEnvironment findComponentBundles AVISO: Found two components for namespace http://jasperreports.sourceforge.net/jasperreports/components CONSTRUÍDO COM SUCESSO (tempo total: 6 segundos)
Mas Acredito que não seja esse o problema.
O problema é quando eu rodo a partir do executável. Não gera o relatório em pdf como acontece dentro no netbeans.

Tentei mudar o arquivo Geral.jrxml de pasta ou seja, coloquei na raiz do projeto, coloquei na pasta dist, alterei o caminho dentro da aplicação antes de gerar o executável, mas continua não executando o relatório fora do netbeans ou seja no executável.

Quando vc roda fora do netbeans e não abre o relatorio concerteza gera um erro…

Talvez vc nao esteja mostrando ele, faça o seguinte execute o teu .jar através do DOS

java -jar SEUJAR.jar

então vai ter seu stackTrace.

Ah sim!
não esta encontrando o arquivo “Geral jrxml”.

[code]C:\Users\203070\Desktop>java -jar administracao.jar
A conexao foi um sucesso!
relatoriosAdministracao.FormRelGeral jButtonImprimirRelGeral ActionPerformed GRAVE: null
net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: Geral.jrxml (O sistema nao pode encontrar o arquivo especificado)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:174
)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:154
)
at relatoriosAdministracao.RelPessoas.gerar(RelPessoas.java:32)
at relatoriosAdministracao.FormRelGeral.jButtonImprimirRelGeralActionPer
formed(FormRelGeral.java:127)
at relatoriosAdministracao.FormRelGeral.access$000(FormRelGeral.java:12)

    at relatoriosAdministracao.FormRelGeral$1.actionPerformed(FormRelGeral.j

ava:102)
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.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(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: Geral.jrxml (O sistema nÒo pode encont
rar o arquivo especificado)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(Unknown Source)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:169
)
… 41 more

C:\Users\203070\Desktop>[/code]
Porém ele esta na raiz do meu projeto, e pelo NetBeans ele ta encontrando.

O problema é o local do seu relatorio.

O jar nao esta encontrando, analise isso com cuidado.
Tem varios topicos sobre isso aqui no forum,
concerteza vai achar o erro que cometeu :wink:

qual seria o correto:

new RelPessoas().gerar("src/relatoriosAdministracao/Geral.jrxml");[/code] ou  [code]new RelPessoas().gerar("src/relatoriosAdministracao/Geral.jasper");

ja virei todos esses post que falam a respeito, porém, no meu continua não gerando o relatório qdo executo a partir do jar.

Na real as duas formas estao erradas

getClass().getResourceAsStream("/pacote/"+caminho);

Procurei algum tópico, tutorial, etc., que ensine a trabalhar dessa forma e não encontrei até o mom., tens alguma dica por favor!
obg. abç.

Primeiro resultado de pesquisa do Forum.

http://www.guj.com.br/java/199390-ireport—problema-com-caminho-do-jasperfile-resolvido/2

Obrigado! Me desculpa pela negligência!

Estou tendo um outro problema nessa linha:

relatorio = JasperFillManager.fillReport(jasperReport, parametros, new RelPessoas());

o erro esta no método fillReport porém, não consegui sacar e aparece a seguinte msg:

cannot find symbol symbol: method fillReport(net.sf.jasperreports.engine.JasperReport,java.util.Map,relatoriosAdministracao.RelPessoas) location: class net.sf.jasperreports.engine.JasperFillManager

Talvez seja os jars que não estejam no seu projeto.

Tente adicionar os jars do iReport ao LibraryPatch

imagino que ja estão adicionados, são esses que estão circundados, ou existe mais algum necessário?


executa seu .jar pelo prompt de comando

não se esqueça de ir ate a pasta aonde ele está

varios erros toscos encontrei fazendo isso

pelo que vi falta o iText

não esta ai iText-2.1.7.jar após o último commons…

pelo prompt ele não ta enxergando os pacotes, aparecem erros como esse abaixo, apesar de estar configurado no PATH.

C:\Users\203070>javac C:\Users\203070\Documents\NetBeansProjects\Administracao\s rc\mainAdministracao\administracao.java C:\Users\203070\Documents\NetBeansProjects\Administracao\src\mainAdministracao\a dministracao.java:3: package bdAdministracao does not exist import bdAdministracao.*; ^
Se eu acessar a pasta onde esta o Main antes de executar aparece o mesmo erro.

adicionei todos os jars “jasperrpeorts…” e todos os “commons…” que encontrei na pasta ireport além do IText-2.1.7 que ja estava e nada alterou, por acaso tem mais algum jar que seja necessário?