Ireport com Java

Senhores(a).

gostaria muito da ajuda de vocês, estou com uma baita encrenca
Desenvolvi um programa que gera um relatorio em pdf usando o ireport, porém ao rodar pelo .jar ele nao gera o arquivo e não abre o relatorio
alguém poderia me ajudar por favor!!

fico grato!

Primeiramente, execute o jar pelo prompt, desta forma vai verificar qual a saída no console, e desta forma será mais fácil de encontrar o problema.

Você colocou todas as bibliotecas do jasper (e suas dependências) no classpath da aplicação ???
Você esta carregando o arquivo .jasper (compilado) adequadamente ?

Poste o código que não funciona e o erro se estiver ocorrendo que fica mais facil…

Jmmenezes!

O código está funcionando blz!!
Se eu rodar pelo netbeans, tranquilo, gera o arquivo,mas quando chamo pelo cmd ele nao faz nada!!!

[quote=snowblacksoul]Jmmenezes!

O código está funcionando blz!!
Se eu rodar pelo netbeans, tranquilo, gera o arquivo,mas quando chamo pelo cmd ele nao faz nada!!!
[/quote]
Então deve ser problema de biblioteca mesmo.
Você verificou se todas as libs do jasper e dependências estão no classpath ???

estao sim!! se não tivesse nao ia funcionar com o netbeans

Depende… se você criou um .jar e quer chamar a partir dele… ou as libs tem de estar no classpath da máquina ou senão tem de especificar no manifest…

Tenta rodar na mão com java -classpath especificando as libs e no final o nome do jar…

Não ta dando erro nenhum ???

pra colocar no classpath da maquina como faço?

http://docs.oracle.com/javase/tutorial/essential/environment/paths.html

eu digo ireport, como devo colocar no classpath

Talvez essa Thread te ajude:

Você deve colocar as libs e dependências do jasper reports…

No caso do jasper na versão que eu utilizo são estas:
jasperreports-4.7.0.jar
jasperreports-applet-4.7.0.jar
jasperreports-fonts-4.7.0.jar
jasperreports-javaflow-4.7.0.jar

As dependências vai depender muito do que seu relatório faz…

Você pode baixar o jasper e colocar todas as dependências…

Em linux você pode usar esse script aqui que fiz (ou portar ele para batch em windows… não é dificil, mas agora estou sem tempo para fazer isso):

#!/bin/sh

criarLibPath()
{
	CP=""
	if [ -d "$1"/Libs ]; then
		for a in "$1"/Libs/*; do
			CP="$CP":"$a"
		done
	fi

	if [ -d "$1"/LibsExtra ]; then
		for a in "$1"/LibsExtra/*; do
			CP="$CP":"$a"
		done
	fi

	if [ -d "$1"/LibsHibernate ]; then
		for a in "$1"/LibsHibernate/*; do
			CP="$CP":"$a"
		done
	fi

	if [ -d "$1"/LibsJasper ]; then
		for a in "$1"/LibsJasper/*; do
			CP="$CP":"$a"
		done
	fi

} 

INSTALLED_JAVA_HOME=/opt/Java/jre1.6.0_31
APP_DIR=/home/user/app

# Verificar java 
if [ -d "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then
	JAVACMD="$JAVA_HOME/bin/java"
elif [ -d "$INSTALLED_JAVA_HOME" -a -x "$INSTALLED_JAVA_HOME/bin/java" ]; then
	JAVACMD="$INSTALLED_JAVA_HOME/bin/java"
else
	JAVACMD=java
fi

criarLibPath "$APP_DIR"

TMP_CP=$CP

$JAVACMD -Xms64m -Xmx256m -cp "$CP" MainClass

PS: Fiz pequenas modificações no script por questões de privacidade.

Estou fazendo agora pelo eclipse
O Erro que está dando é o mesmo quando rodo pelo cmd

Veja que as classe não estão sendo encontradas, provavelmente a versão do Ireport do Netbeans, não é a mesma do Eclipse!!!
Você tem que ver em qual versão do Ireport foi compilado seu relatório!!!

OK VOU FAZER O TESTE AGORA

continua com o mesmo erro!!!
nao sei mais o que faço

A aplicação usa banco de dados?, Voce está rodando no eclipse?

Se conseguir mandar a aplicação para mim, posso te ajudar, mas se tiver banco dae tem que ver…

Aguardo

Quase eu consigo agora!!!
Deu alguns erros

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 "main" java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
	at java.lang.Class.getConstructor0(Unknown Source)
	at java.lang.Class.getConstructor(Unknown Source)
	at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:690)
	at net.sf.jasperreports.engine.JasperCompileManager.getEvaluator(JasperCompileManager.java:263)
	at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:457)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:379)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:88)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:103)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:61)
	at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:153)
	at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:55)
	at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446)
	at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:276)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:745)
	at repositorioProduto.gerar(repositorioProduto.java:46)
	at principal.main(principal.java:25)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.control.CompilationFailedException
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 18 more

Veja o erro:

java.lang.NoClassDefFoundError: org/codehaus/groovy/control

procure o jar que tem esta classe e coloque no classpath.