iReport - classe que chama o .jasper

12 respostas
ELIAS

Caros amigos,

Estou com uma duvida sobre a classe que chama o o arquivo .jasper.

Qual arquivo jar que possui este pacote:

import dori.jasper.engine.*;
import dori.jasper.view.JasperViewer;

Obrigado

12 Respostas

_fs

“dori” cara?

Está usando o Jasper 0.61?

ELIAS

Bem na verdade estou usando o ireport, mas o jasper é o 0.6.3.

Mas o jasper e o ireport estão em pastas diferentes.

E eu quero criar uma classe para execultar o jasper.

Valeu?

_fs

Bem, não entendi esse pacote, mas aqui a classe JasperViewer está no jar do Jasper mesmo, só que no pacote net.sf.jasper.view.JasperViewer.class

E para fazer uma classe que lança o viewer, há exemplos no site do Jasper.

ELIAS

eu estou fazendo o exemplo do tutorial do guj, estou implementando a classe no eclipse , mas ele não encontra o pacote:

import dori.jasper.engine.*;
import dori.jasper.view.JasperViewer;

e gostaria de saber qual é o jar? eu sei que estar no jar do jasper, mas qual é o jar do jasper?

bigadu

R

ELIAS:
eu estou fazendo o exemplo do tutorial do guj, estou implementando a classe no eclipse , mas ele não encontra o pacote:

import dori.jasper.engine.*;
import dori.jasper.view.JasperViewer;

e gostaria de saber qual é o jar? eu sei que estar no jar do jasper, mas qual é o jar do jasper?

bigadu

eh o unico .jar q vem qdo vc baixa o jasper…jasperreports-XXX.jar

ELIAS

Olha ai a minha classe…

/* pacotes necessários <em>/

import net.sf.jasperreports.engine.</em>;

import net.sf.jasperreports.view.JasperViewer;

import java.sql.<em>;

import java.util.</em>;
public class RelLocalEquipamento {

public void geraRelatorio( ) throws JRException, Exception

{		

Connection con = Conexao.obtemConexao();

Statement stm = con.createStatement();

String query = select * from local_atendimento;

ResultSet rs = stm.executeQuery( query );

/* implementação da interface JRDataSource para DataSource ResultSet <em>/

JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);

/</em> HashMap de parametros utilizados no relatório. Sempre instanciados <em>/

Map parameters = new HashMap();

// parameters.put(“COLUNA”, valor);

/</em> Preenche o relatório com os dados. Gera o arquivo TESTE.jrprint <em>/

JasperFillManager.fillReportToFile(“TESTE.jasper”,parameters, jrRS);

/</em> Exporta para o formato PDF <em>/

JasperExportManager.exportReportToPdfFile(“TESTE.jrprint”);

/</em> Preenche o relatorio e o salva diretamente em arquivo PDF. Sem

a necessidade do .jrprint <em>/

<a href="//JasperRunManager.runReportToPdfFile">//JasperRunManager.runReportToPdfFile</a>(“TESTE.jasper”, parameters, jrRS);

/</em> Visualiza o relatório em formato PDF */

JasperViewer.viewReport( TESTE.pdf, false );

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

}

Olha o resultado:

java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport; local class incompatible: stream classdesc serialVersionUID = 601, local class serialVersionUID = 603

at java.io.ObjectStreamClass.initNonProxy(Unknown Source)

at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)

at java.io.ObjectInputStream.readClassDesc(Unknown Source)

at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)

at java.io.ObjectInputStream.readClassDesc(Unknown Source)

at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

at java.io.ObjectInputStream.readObject0(Unknown Source)

at java.io.ObjectInputStream.readObject(Unknown Source)

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:129)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:314)

at RelLocalEquipamento.geraRelatorio(RelLocalEquipamento.java:20)

at RelLocalEquipamento.main(RelLocalEquipamento.java:32)
NESTED BY :

java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport; local class incompatible: stream classdesc serialVersionUID = 601, local class serialVersionUID = 603

at java.io.ObjectStreamClass.initNonProxy(Unknown Source)

at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)

at java.io.ObjectInputStream.readClassDesc(Unknown Source)

at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)

at java.io.ObjectInputStream.readClassDesc(Unknown Source)

at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

at java.io.ObjectInputStream.readObject0(Unknown Source)

at java.io.ObjectInputStream.readObject(Unknown Source)

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:129)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:314)

at RelLocalEquipamento.geraRelatorio(RelLocalEquipamento.java:20)

at RelLocalEquipamento.main(RelLocalEquipamento.java:32)
NESTED BY :

net.sf.jasperreports.engine.JRException: Error loading object from file : TESTE.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:133)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:314)

at RelLocalEquipamento.geraRelatorio(RelLocalEquipamento.java:20)

at RelLocalEquipamento.main(RelLocalEquipamento.java:32)

Caused by: java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport; local class incompatible: stream classdesc serialVersionUID = 601, local class serialVersionUID = 603

at java.io.ObjectStreamClass.initNonProxy(Unknown Source)

at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)

at java.io.ObjectInputStream.readClassDesc(Unknown Source)

at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)

at java.io.ObjectInputStream.readClassDesc(Unknown Source)

at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

at java.io.ObjectInputStream.readObject0(Unknown Source)

at java.io.ObjectInputStream.readObject(Unknown Source)

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:129)

 3 more

Exception in thread main

Tá ai, e agora? Por favor pesquisei no site do jasper mas não encontrei um exemplo. É sério.

ELIAS

O erro está dando nesta linha:

JasperFillManager.fillReportToFile(“TESTE.jasper”,parameters, jrRS);

shaggy

o meu tbm está dando o mesmo erro

JPinhead

cara tenta adicionar o arquivo jdt-compiler.jar no classpath da sua aplicação…

Q

Aí galera…assim tenho certeza que vai funcionar, mas é preciso estar usando o iReport 0.4.1 e o jasper 0.6.4 o .jar do jasper tem de estar na Library e na jdk eo jdt-compiler.jar e commons.logging.jar do iReport tb devem estar na jdk.

private static Connection getConnetcion() throws ClassNotFoundException,SQLException{

String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;

String url = jdbc:odbc:netfactor;

String user = “sa”;

String password = “chica”;
Class.forName(driver);
Connection con = DriverManager.getConnection(url,user,password);
return con;

}

public void geraRelatorio() throws JRException,Exception{

Connection con = getConnetcion();

Statement stm = con.createStatement();

String query = "select cedCodigo,pesNome,pesLogradouro,pesBairro,pesFone "+

from nfCedente inner join nfPessoa on (nfPessoa.pesCNPJCPF = nfCedente.pesCNPJCPF);

ResultSet rs = stm.executeQuery(query);

Date data = new Date();
JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
Map parameters = new HashMap();
parameters.put("EMICAO",data);
parameters.put("EMPRESA","Reta Factoring do Brasil LTDA.");

JasperPrint jasperPrint  = JasperFillManager.fillReport("C:/javasoft/iReport-0.4.1/obSistema.jasper",parameters,jrRS);
JasperExportManager.exportReportToPdfFile(jasperPrint,"C:/javasoft/iReport-0.4.1/obSistema.pdf");
JasperDesignViewer.viewReportDesign("C:/javasoft/iReport-0.4.1/obSistema.jasper",false);
JasperViewer.viewReport(jasperPrint);

}

Licuri

pessoal algue pode me ajudar tentei realizar o exemplo acima mais me deparei com o seguinte erro…

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

at java.net.URLClassLoader.findClass(URLClassLoader.java:241)

at java.lang.ClassLoader.loadClass(ClassLoader.java:516)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:460)

at java.lang.ClassLoader.loadClass(ClassLoader.java:448)

at java.lang.Class.forName1(Native Method)

at java.lang.Class.forName(Class.java:142)

at br.com.infoserver.pdf.GeraPDF.getConnetcion(GeraPDF.java:33)

at br.com.infoserver.pdf.GeraPDF.geraRelatorio(GeraPDF.java:39)

at br.com.infoserver.pdf.TestarPDF.main(TestarPDF.java:12)

Exception in thread main
Q

cara…inclui no classpath o driver jdbc do oracle

Criado 4 de janeiro de 2005
Ultima resposta 3 de mai. de 2005
Respostas 12
Participantes 7