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
, 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: :smiley:](https://www.guj.com.br/images/emoji/twitter/smiley.png?v=9)
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)