Java - Reportes con ireport y netbeans

 
Vista:
sin imagen de perfil

Reportes con ireport y netbeans

Publicado por Cristian (3 intervenciones) el 02/03/2014 00:17:38
Hola! estoy queriendo trabajar con ireport y netbeans, pero algo no sale bien.
yo ya tengo el reporte .jasper en el directorio raiz del proyecto y la base de datos bien hecha, con datos y conecta a la perfección. También tengo las librerias agregadas.
Para simplificar el proyecto y poder encontrar el error lo ejecuto directamente desde el método main. Este es el codigo



package pruebareporte;

import java.sql.Connection;
import java.sql.DriverManager;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.util.JRLoader;


public class PruebaReporte {


public static void main(String[] args) throws Exception {
Class.forName("org.postgresql.Driver");
Connection conexion = DriverManager.getConnection("jdbc:postgresql://localhost:5432/personas", "postgres", "35670803");
JasperReport reporte = (JasperReport) JRLoader.loadObject("PruebaReporte.jasper");
JasperPrint jasperPrint = new JasperPrint();
jasperPrint = JasperFillManager.fillReport(reporte, null, conexion); // ACA ES DONDE ME TIRA ERROR

JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE,new java.io.File("reportePDF.pdf"));
exporter.exportReport();
}
}


Ese es el código y el error es justo donde lo marqué, no me deja llenar el reporte.. Busque por muchas paginas, y todos dicen q se hace asi, no se pq no puedo hacerlo..

Muchisimas gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Reportes con ireport y netbeans

Publicado por alvaro (17 intervenciones) el 02/03/2014 09:47:45
con lo que entiendo de reportes a simple vista lo veo todo bien, si especificaras un poco mas que tipo de excepcion que te da, igual te puedo ayudar mas.

si lo que quieres es mostrarlo en java swing a traves de un jframe seria de la siguiente forma:
frame.getContentPane().add(new JRViewer(jasperPrint));

por lo demas igual no generastes el reporte en la ruta correcta, y no encuentra tu reporte, asegurate de que lo genere en la ruta de tu proyecto y no en otro lado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Reportes con ireport y netbeans

Publicado por Cristian (3 intervenciones) el 02/03/2014 21:09:57
Muchas gracias! este es el error que me tira:

run:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/ServletOutputStream
at net.sf.jasperreports.web.util.WebResourceHandlersExtensionRegistryFactory.<clinit>(WebResourceHandlersExtensionRegistryFactory.java:47)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:266)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:115)
at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:53)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.instantiateRegistry(DefaultExtensionsRegistry.java:237)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:214)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:162)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getRegistries(DefaultExtensionsRegistry.java:133)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:105)
at net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:83)
at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:123)
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:179)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:81)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:849)
at pruebareporte.PruebaReporte.main(PruebaReporte.java:23)
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletOutputStream
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)
... 21 more
Java Result: 1
BUILD SUCCESSFUL (total time: 4 seconds)




y adjunto mi proyecto.. Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Reportes con ireport y netbeans

Publicado por alvaro (17 intervenciones) el 04/03/2014 16:42:45
no se igual no importastes bien todas las librerias... asimple vista parece todo correcto, te adjunto un report propio para que lo veas de guia. aber si ves mejor el error....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
public void conexionPostgres() {
        try {
            Class.forName("org.postgresql.Driver");
            conexion = (Connection) DriverManager
                    .getConnection("jdbc:postgresql://192.168.2.129/dataBaseFinal", "postgres", "");
        } catch (ClassNotFoundException ex) {
            Exceptions.printStackTrace(ex);
        } catch (SQLException ex) {
            Exceptions.printStackTrace(ex);
        }
    }
 
    public void conexionInformesProducto() {
        conexionPostgres();
        try {
            JasperReport reporte = (JasperReport) JRLoader.loadObject("src/report2.jasper");
 
            //rellenamos el reporte
            JasperPrint jasperPrint = JasperFillManager
                    .fillReport(reporte, null, conexion);
 
            // Creo un mapa (pair<Nombre, Valor>)
            Map parameters = new HashMap();
// Passing ReportTitle and Author as parameters
            parameters.put("ReportTitle",
                    "List of Products");
            parameters.put("Author",
                    "Alvaro");
// Creo el exporter
            JRExporter exporter = new JRPdfExporter();
// Paso el objeto jasperPrint y el fichero como parámetros
            exporter.setParameter(JRExporterParameter.JASPER_PRINT,
                    jasperPrint);
            exporter.setParameter(JRExporterParameter.OUTPUT_FILE,
                    new java.io.File("reportePDF.pdf"));
// Exporto
            exporter.exportReport();
 
            JasperPrint jasperPrint2 = JasperFillManager
                    .fillReport(reporte, parameters, conexion);
// Creo el frame
            JFrame frame = new JFrame("Informe Productos");
// Añado el report al frame con el JRViewer
            frame.getContentPane().add(new JRViewer(jasperPrint2));
 
            frame.setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize());
            frame.setVisible(true);
            conexion.close();
        } catch (JRException ex) {
            Exceptions.printStackTrace(ex);
        } catch (SQLException ex) {
            Exceptions.printStackTrace(ex);
        }
 
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Reportes con ireport y netbeans

Publicado por Cristian (3 intervenciones) el 04/03/2014 19:40:02
Muchas gracias!! Me sirvio! ya solucione.. me faltaba una libreria..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Reportes con ireport y netbeans

Publicado por JHON ALEXIS (1 intervención) el 14/04/2014 00:13:21
Hola Cristian, que librería era la que te hacia falta ¿ Como se llama ? por que tengo el mismo error Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

Reportes con ireport y netbeans

Publicado por RAYMOND SANABRIA (3 intervenciones) el 24/10/2017 15:01:06
CUAL ERA LA LIBRERIA QUE TE FALTABA, PORQUE A MIME ESTA GENERANDO PROBLEMAS EN LA LINEA
JasperReport reporte=(JasperReport) JRLoader.loadObject(getClass().getResource("ConsultasClientes.jasper"));
ME REGALAS EL LINK O EL NOMBRE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar