Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] java e ireport

Estas en el tema de java e ireport en el foro de Java en Foros del Web. buenos días, estoy arrancando con el armado de reportes con ireport. y en mi rimeros intentos, me da un error de libreria es lo que ...
  #1 (permalink)  
Antiguo 15/07/2016, 07:24
 
Fecha de Ingreso: octubre-2010
Mensajes: 154
Antigüedad: 14 años, 1 mes
Puntos: 5
java e ireport

buenos días, estoy arrancando con el armado de reportes con ireport.
y en mi rimeros intentos, me da un error de libreria es lo que creo entender.
les paso el fragmento de codigo y el log a ver si alguien me puede dar una mano.

Código Java:
Ver original
  1. package report;
  2.  
  3.  
  4. import java.sql.Connection;
  5. import java.util.HashMap;
  6. import java.util.Map;
  7.  
  8. import javax.swing.JOptionPane;
  9.  
  10. import net.sf.jasperreports.engine.JasperFillManager;
  11. import net.sf.jasperreports.engine.JasperPrint;
  12. import net.sf.jasperreports.engine.JasperReport;
  13. import net.sf.jasperreports.engine.util.JRLoader;
  14. import net.sf.jasperreports.view.JasperViewer;
  15. import CONFIG.CONN.Conexion;
  16.  
  17. public abstract class Reporte {
  18.  
  19.     public Reporte() {
  20.        
  21.     }
  22.    
  23.     /** Tengo que pasarle como parametro,
  24.      * la ruta de que reporte va a utilizar.
  25.      * y el Map de los parametros que lleva.
  26.      * */
  27.     public static void creaReporte(String ruta, Map parametros, String titulo){
  28.         try {
  29.              JasperReport reporte = (JasperReport) JRLoader.loadObject(ruta);
  30.              Connection con = Conexion.getConexion();
  31.  
  32. //              JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, parametros); //, new JRBeanCollectionDataSource(listaPariticipantes));
  33.                 JasperPrint jasperPrint = JasperFillManager.fillReport(ruta, parametros, con);
  34.                 JasperViewer jasperViewer = new JasperViewer(jasperPrint, false);
  35.                 jasperViewer.setTitle(titulo);
  36.                 jasperViewer.setVisible(true);
  37.                
  38.                
  39. //              JRExporter exporter = new JRPdfExporter();
  40. //              exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  41. //              exporter.setParameter(JRExporterParameter.OUTPUT_FILE, new java.io.File("reporte3PDF.pdf"));
  42. //              exporter.exportReport();
  43.         } catch (Exception e) {
  44.             JOptionPane.showMessageDialog(null, "Error al intentar generar el Reporte.", "Error", JOptionPane.ERROR_MESSAGE);
  45.             e.printStackTrace();
  46.         }
  47.            
  48.            
  49.     }
  50.  
  51.     public static void main(String[] args) {
  52.         String ruta = "src/report/IReport/CobroCuotasCTM.jasper";
  53.          Map<String, String> parametros = new HashMap<String, String>();
  54.          parametros.put("recibo", "175");
  55.          Reporte.creaReporte(ruta, parametros, "cuota");
  56.  
  57.     }
  58.  
  59. }

y el log.
Código log:
Ver original
  1. Exception in thread "main" java.lang.NoClassDefFoundError: javax/servlet/ServletOutputStream
  2.     at net.sf.jasperreports.web.util.WebResourceHandlersExtensionRegistryFactory.<clinit>(WebResourceHandlersExtensionRegistryFactory.java:47)
  3.     at java.lang.Class.forName0(Native Method)
  4.     at java.lang.Class.forName(Unknown Source)
  5.     at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)
  6.     at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:115)
  7.     at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:53)
  8.     at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.instantiateRegistry(DefaultExtensionsRegistry.java:237)
  9.     at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:214)
  10.     at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:162)
  11.     at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getRegistries(DefaultExtensionsRegistry.java:133)
  12.     at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:105)
  13.     at net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:83)
  14.     at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:121)
  15.     at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:88)
  16.     at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:103)
  17.     at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:61)
  18.     at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:179)
  19.     at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:81)
  20.     at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446)
  21.     at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:276)
  22.     at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:745)
  23.     at report.Reporte.creaReporte(Reporte.java:33)
  24.     at report.Reporte.main(Reporte.java:55)
  25. Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletOutputStream
  26.     at java.net.URLClassLoader$1.run(Unknown Source)
  27.     at java.net.URLClassLoader$1.run(Unknown Source)
  28.     at java.security.AccessController.doPrivileged(Native Method)
  29.     at java.net.URLClassLoader.findClass(Unknown Source)
  30.     at java.lang.ClassLoader.loadClass(Unknown Source)
  31.     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  32.     at java.lang.ClassLoader.loadClass(Unknown Source)
  33.     ... 23 more
la excepcion salta cuando intenta crear el jasperprinter.

estas son las librerias que fui subiendo para probar.


cualquier ayuda sera bienvenida.
desde ya muchas gracias.
  #2 (permalink)  
Antiguo 15/07/2016, 07:26
 
Fecha de Ingreso: octubre-2010
Mensajes: 154
Antigüedad: 14 años, 1 mes
Puntos: 5
Respuesta: java e ireport

El reporte desde el ireport funciona bien. me pide el parametro "recibo" cuando lo ejecuto.
  #3 (permalink)  
Antiguo 15/07/2016, 08:53
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: java e ireport

¿Estás ejecutando el proyecto en un servidor? Porque lo que falta es una librería de J2EE, y normalmente cuando se necesita es porque se ejecuta en un servidor que lógicamente tiene que tener esa librería.

http://www.findjar.com/class/javax/s...putStream.html
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #4 (permalink)  
Antiguo 15/07/2016, 14:04
 
Fecha de Ingreso: octubre-2010
Mensajes: 154
Antigüedad: 14 años, 1 mes
Puntos: 5
Respuesta: java e ireport

Cita:
Iniciado por Xerelo Ver Mensaje
¿Estás ejecutando el proyecto en un servidor? Porque lo que falta es una librería de J2EE, y normalmente cuando se necesita es porque se ejecuta en un servidor que lógicamente tiene que tener esa librería.

http://www.findjar.com/class/javax/s...putStream.html
Hola Xerelo, gracias por tomarte el tiempo en responder.
si lo corro en un server j2ee.
y como puedo saber cual de esas librerias que me pasas, es la que necesito?
Abrazo.
  #5 (permalink)  
Antiguo 18/07/2016, 06:38
 
Fecha de Ingreso: octubre-2010
Mensajes: 154
Antigüedad: 14 años, 1 mes
Puntos: 5
Respuesta: java e ireport

lo solucione de la siguiente manera.
Código Java:
Ver original
  1. package report;
  2.  
  3. import java.io.File;
  4. import java.sql.Connection;
  5. import java.util.HashMap;
  6. import java.util.Map;
  7.  
  8. import net.sf.jasperreports.engine.JRExporter;
  9. import net.sf.jasperreports.engine.JRExporterParameter;
  10. import net.sf.jasperreports.engine.JasperFillManager;
  11. import net.sf.jasperreports.engine.JasperPrint;
  12. import net.sf.jasperreports.engine.JasperReport;
  13. import net.sf.jasperreports.engine.export.JRPdfExporter;
  14. import net.sf.jasperreports.engine.util.JRLoader;
  15. import net.sf.jasperreports.view.JasperViewer;
  16. import CONFIG.CONN.Conexion;
  17.  
  18. public abstract class Reporte {
  19.  
  20.     public Reporte() {
  21.        
  22.     }
  23.    
  24.     /** Tengo que pasarle como parametro,
  25.      * la ruta de que reporte va a utilizar.
  26.      * y el Map de los parametros que lleva.
  27.      * */
  28.  
  29.    
  30.     @SuppressWarnings("deprecation")
  31.     public static void reporte(String ruta, Map parameters, String titulo){
  32.         try {
  33.            
  34.             Connection conn = Conexion.getConexion();
  35.            
  36.             File file = new File(ruta);
  37.            
  38.             JasperReport report = (JasperReport) JRLoader.loadObject(file);
  39.             JasperPrint print = JasperFillManager.fillReport(report, parameters, conn);
  40.            
  41.             JasperViewer jasperViewer = new JasperViewer(print, false);
  42.             jasperViewer.setTitle(titulo);
  43.             jasperViewer.setVisible(true);         
  44.            
  45.             JRExporter exporter = new JRPdfExporter();
  46.             exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
  47.             exporter.setParameter(JRExporterParameter.OUTPUT_FILE, new java.io.File(titulo));
  48.             exporter.exportReport();
  49.             System.out.println("reporte creado");
  50.                
  51.         } catch (Exception e) {
  52.             e.printStackTrace();
  53.         }
  54.        
  55.     }
  56.  
  57.        
  58.     public static void main(String[] args) {
  59. //      String ruta = "C:/CobroCuotasCTM.jasper";
  60.         String ruta = "src/report/iReport/CobroCuotasCTM.jasper";
  61.        
  62.          Map<String, Integer> parametros = new HashMap<String, Integer>();
  63.          parametros.put("recibo", 175);
  64.          Reporte.reporte(ruta, parametros, "cuota");
  65.  
  66.     }
  67.  
  68. }

Etiquetas: ireport, servlet, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:01.