Pessoal, eu criei um relatório com o i-report baseado em uma consulta sql a um banco postgre, mas não passei nemnhum parâmetro para esse relatório (O relatório é impresso somente com base na sql estática).
Compilei o relatório ,criei um .jasper e executei de dentro do i-report … até aí tudo bem; o relatório é exibido corretamente.
O problema é que quando eu tento rodar o relatório de um programa que eu fiz (compilar o .jasper e executar) ele dá o sequinte erro:
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/loggin/LogFactory
at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:123)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:111)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:222)
at net.sf.jasperreports.engine.JasperManager.fillReport(JasperManager.java:741)
at VerRelat.main(VerRelat.java:23)
Eu tô compilando esse programa direto do meu “c:”, coloquei a pasta do jasperreports (“c:\net\sf…”) tambem na minha raiz e coloquei tambem na raiz o driver jdbc do postgresql. Ao final eu rodo o programa com o seguinte comando : java -classpath c:\ VerRelat
As minhas variáveis de ambiente são:
CLASSPATH = C:\j2sdk1.4.2_07
JAVA_HOME = C:\j2sdk1.4.2_07
PATH = C:\j2sdk1.4.2_07\bin;%java_home\lib
O MEU PROGRAMA É ASSIM:
import java.util.<em>;
import java.sql.</em>;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
public class VerRelat {
public static void main(String[] args) {
String driver = “org.postgresql.Driver”;
String url = “jdbc:postgresql://192.168.100.5:5432/ateste”;
String user = “egen”;
String password = “egen”;
JasperReport relatorio = null;
JasperPrint impressao = null;
JasperViewer viewer = null;
HashMap parametros = new HashMap();
Connection connection = null;
try {
Class.forName(driver);
connection = DriverManager.getConnection(url, user, password);
relatorio = JasperManager.loadReport(“c:/analitico.jasper”);
<a href="//parametros.put">//parametros.put</a>(“uf”, “RJ”);
impressao = JasperManager.fillReport(relatorio, parametros, connection);
/* Cria o visualizador de imporessão*/
viewer = new JasperViewer(impressao, true);
viewer.show();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
