Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Reportes con ireport y netbeans

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..


Este es el error que me arroja:

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.(JRBaseFiller.java:123)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:88)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:103)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(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)

marzo 2, 2014 | Unregistered CommenterCristian

Explicación + solución en primera ocurrencia Google:

http://community.jaspersoft.com/jasperreports-library/issues/3301-0

Un saludo

marzo 2, 2014 | Unregistered CommenterUnoPorAhi

Cuando ocurren excepciones, es imprescindible saber cómo analizarlas.

"Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletOutputStream"

http://docs.oracle.com/javase/7/docs/api/java/lang/ClassNotFoundException.html

"Thrown when an application tries to load in a class through its string name using:
The forName method in class Class.
The findSystemClass method in class ClassLoader .
The loadClass method in class ClassLoader.
but no definition for the class with the specified name could be found"

Lo que habitualmente significa que falta una clase en el classpath, por no incluir la librería que la contiene.

En este caso, se debe localizar qué librería contiene ServletOutputStream, y añadirla al classpath de la aplicación, como se indica en la solución del enlace mencionado en el mensaje anterior.

marzo 3, 2014 | Registered Commenterchoces

alguien me puede ayudar? Como se autoajusta un tablero component en ireport al ancho de hoja

junio 16, 2016 | Unregistered CommenterYo