Ajuda com relatório

oi pessoal desculpa perguntar de novo acho que deve ter varios postes sobre isso mas o pesquisar do GUJ não funciona aqui

bom tenho essa classe:

package javaapplication2;
/*
 * pacotes necessários
 */

import dori.jasper.engine.JRException;
import dori.jasper.engine.JRResultSetDataSource;
import dori.jasper.engine.JasperExportManager;
import dori.jasper.engine.JasperFillManager;
import dori.jasper.view.JasperViewer;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;

public class JavaApplication2 {
    

    private static Connection getConnection() throws ClassNotFoundException, SQLException {
        String driver = "org.postgresql.Driver";
        String url = "jdbc:postgresql://localhost:5432/bibliotecadigital";
        String user = "postgres";
        String password = "postgres";
        Class.forName(driver);
        Connection con = DriverManager.getConnection(url, user, password);
        return con;
    }
    

    public void geraRelatorio() throws JRException, Exception {
        Connection con = getConnection();
        Statement stm = con.createStatement();
        String query = "select * from area";
        ResultSet rs = stm.executeQuery(query);
        JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
        Map parameters = new HashMap();
        JasperFillManager.fillReportToFile("oi.jasper", parameters, jrRS);
        JasperExportManager.exportReportToPdfFile("oi.jrprint");
        JasperViewer.viewReport("oi.pdf", false);
    }

    public static void main(String[] args) throws JRException, Exception {
        new JavaApplication2().geraRelatorio();
    }
}

e da esse erro:
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at dori.jasper.engine.util.JRLoader.(JRLoader.java:100)
at dori.jasper.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:234)
at javaapplication2.JavaApplication2.geraRelatorio(JavaApplication2.java:45)
at javaapplication2.JavaApplication2.main(JavaApplication2.java:53)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
… 4 more

alguém pode ajudar

falta importar a lib no seu projeto.

http://commons.apache.org/logging/

agora da mais um erro:

Exception in thread “main” java.io.FileNotFoundException: oi.jasper
at dori.jasper.engine.util.JRLoader.loadObject(JRLoader.java:124)
at dori.jasper.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:234)
at javaapplication2.JavaApplication2.geraRelatorio(JavaApplication2.java:40)
at javaapplication2.JavaApplication2.main(JavaApplication2.java:46)

NESTED BY :
dori.jasper.engine.JRException: oi.jasper
at dori.jasper.engine.util.JRLoader.loadObject(JRLoader.java:124)
at dori.jasper.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:234)
at javaapplication2.JavaApplication2.geraRelatorio(JavaApplication2.java:40)
at javaapplication2.JavaApplication2.main(JavaApplication2.java:46)
Caused by: java.io.FileNotFoundException: oi.jasper
… 4 more

acho que vc nao esta lendo os erros, isso eh muito importante.

repare no erro que ele fala que o seu arquivo oi.jasper nao foi encontrado. verifique se vc esta passando o endereço do arquivo correntamente

Seu relatório está no mesmo pacote do programa? Se estiver em um pacote diferente tem que especificar;

“/relatorios/oi.jasper”

mas no tutorial do GUj ele diz que gera esses arquivos
e já tentei colocar eles mas não funciona vou tentar de novo

não consegui não consigo colocar o .jasper para rodar na aplicaçãoaté agora fiz:

package relatorioguj;

import java.sql.*;
import java.util.*;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.view.JasperViewer;

public class RelatorioGUJ {

    private static Connection getConnection() throws ClassNotFoundException, SQLException {
        String driver = "org.postgresql.Driver";
        String url = "jdbc:postgresql://localhost:5432/biblioteca";
        String user = "postgres";
        String password = "postgres";
        Class.forName(driver);
        Connection con = DriverManager.getConnection(url, user, password);
        return con;
    }

    public void geraRelatorio() throws JRException, Exception {
        Connection con = getConnection();
        Statement stm = con.createStatement();
        String query = "select * from area";
        ResultSet rs = stm.executeQuery(query);
        JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
        Map parameters = new HashMap();
        try {
            JasperFillManager.fillReportToFile("relatorio.jasper", parameters, jrRS);
        } catch (Exception e) {
            System.out.println("não deu aqui: " + e.getMessage());
        }
        try {
            JasperExportManager.exportReportToPdfFile("relatorio.jrprint");
        } catch (Exception e) {
            System.out.println("erro 2 "+e.getMessage());
        }
        JasperViewer.viewReport("relatorio.pdf", false);

    }

    public static void main(String[] args) throws JRException, Exception {
        new RelatorioGUJ().geraRelatorio();
    }
}

e deu esse erro:

[quote]
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
não deu aqui: Unknown column name : nome
erro 2 java.io.FileNotFoundException: relatorio.jrprint
Exception in thread “main” net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: relatorio.pdf
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:84)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:73)
at net.sf.jasperreports.view.JRViewer.loadReport(JRViewer.java:1443)
at net.sf.jasperreports.view.JRViewer.(JRViewer.java:256)
at net.sf.jasperreports.view.JRViewer.(JRViewer.java:227)
at net.sf.jasperreports.view.JasperViewer.(JasperViewer.java:144)
at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:416)
at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:347)
at relatorioguj.RelatorioGUJ.geraRelatorio(RelatorioGUJ.java:40)
at relatorioguj.RelatorioGUJ.main(RelatorioGUJ.java:45)
Caused by: java.io.FileNotFoundException: relatorio.pdf
… 10 more[/quote]

log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
não deu aqui: Unknown column name : nome
erro 2 java.io.FileNotFoundException: relatorio[size=18].jrprint [/size]
Exception in thread “main” net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: relatorio.pdf
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:84)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:73)
at net.sf.jasperreports.view.JRViewer.loadReport(JRViewer.java:1443)
at net.sf.jasperreports.view.JRViewer.<init>(JRViewer.java:256)
at net.sf.jasperreports.view.JRViewer.<init>(JRViewer.java:227)
at net.sf.jasperreports.view.JasperViewer.<init>(JasperViewer.java:144)
at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:416)
at net.sf.jasperreports.view.JasperViewer.viewReport(JasperViewer.java:347)
at relatorioguj.RelatorioGUJ.geraRelatorio(RelatorioGUJ.java:40)
at relatorioguj.RelatorioGUJ.main(RelatorioGUJ.java:45)
Caused by: java.io.FileNotFoundException: relatorio.pdf

nao deveria ser .JASPER???

a sua tabela area tem a coluna nome?

para novato25: não, não tem nome, estranho. minha tabela área só tem código e descrição, e na hora que eu fiz o relatório relo IReport não coloquei nenhum nome, vai entender?

para mauricioadl: puts, esqueci do .jrprint :smiley: , fiquei mais concentrado no .jasper que nem notei o .jrprint, mais uma duvida
no tutorial do GUJ ele fala que o mais importante é o .jasper, mas enfim vou tentar de novo :smiley:

Bom, pelo erro, parece acontecer o seguinte:

primeiro, dá erro porque ele não reconheceu a coluna nome (Unknown column name : nome ) e por isso não conseguiu gerar o arquivo relatorio.jrprint dando o segundo erro (java.io.FileNotFoundException: relatorio.jrprint)