problema al exportar un reporte de iReport
Tengo el siguiente codigo:
public class SubreportsSample {
public static void main(String[] args){
// Cargamos el driver JDBC
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
System.out.println("MySQL JDBC Driver not found.");
System.exit(1);
}
// Obtenemos las URLs del reporte maestro y del subreporte
SubreportsSample t1 = new SubreportsSample();
URL urlMaestro = t1.getClass().getResource(
"./reports/TUTORIAL_SUBREPORTS_MASTER.jasper");
URL urlSubreporte = t1.getClass().getResource(
"./reports/TUTORIAL_SUBREPORTS_SUBREPORT.jasper");
if (urlMaestro == null) {
System.out.println("No encuentro el archivo del reporte maestro.");
System.exit(2);
}
if (urlSubreporte == null) {
System.out.println("No encuentro el archivo del subreporte.");
System.exit(2);
}
JasperReport masterReport = null;
try {
masterReport = (JasperReport) JRLoader.loadObject(urlMaestro);
} catch (JRException e) {
System.out
.println("Error cargando el reporte maestro: " + e.getMessage());
System.exit(3);
}
// Cargamos el subreporte
JasperReport subReport = null;
try {
subReport = (JasperReport) JRLoader.loadObject(urlSubreporte);
} catch (JRException e) {
System.out.println("Error cargando el subreporte: " + e.getMessage());
System.exit(3);
}
// Cargamos el reporte maestro
//********************************************/
// Obtenemos una conexi贸n con la base de datos
Connection con = null;
try {
con = DriverManager.getConnection("jdbc:odbc:a");
//con = DriverManager.getConnection("jdbc:mysql://localhost/subreports");
} catch (SQLException e) {
System.out.println("Error de conexi贸n: " + e.getMessage());
System.exit(4);
}
// Par谩metros del reporte maestro
Map masterParams = new HashMap();
masterParams.put("SUBREPORT", subReport);
masterParams.put("PERSONA_ID", new Integer(3));
// Par谩metros del subreporte:
// Ninguno. El par谩metro PERSONA_ID, se lo pasa
// el report maestro
// Llenamos el reporte maestro (y por ende el subreporte)
// y obtenemos un objeto JasperPrint que puede ser
// visualizado, impreso o exportado
JasperPrint masterPrint = null;
System.out.println("AQUI VA 1 ");
try {
System.out.println("AQUI VA 2");
masterPrint = JasperFillManager.fillReport(masterReport, masterParams,
con);
pero al ejecutarse esta linea :
masterPrint = JasperFillManager.fillReport(masterReport, masterParams,
con);
sale el error:
AQUI VA 2
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at net.sf.jasperreports.engine.fill.JRBaseFiller.<clinit>(JRBaseFiller.java:128)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:111)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:291)
at Reportes.SUBREPORTS.SubreportsSample.main(SubreportsSample.java:122)
POR FAVOR!!! ES URGENTE, QUIEN PUEDE ASESORARME?? GRACIAS
public class SubreportsSample {
public static void main(String[] args){
// Cargamos el driver JDBC
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
System.out.println("MySQL JDBC Driver not found.");
System.exit(1);
}
// Obtenemos las URLs del reporte maestro y del subreporte
SubreportsSample t1 = new SubreportsSample();
URL urlMaestro = t1.getClass().getResource(
"./reports/TUTORIAL_SUBREPORTS_MASTER.jasper");
URL urlSubreporte = t1.getClass().getResource(
"./reports/TUTORIAL_SUBREPORTS_SUBREPORT.jasper");
if (urlMaestro == null) {
System.out.println("No encuentro el archivo del reporte maestro.");
System.exit(2);
}
if (urlSubreporte == null) {
System.out.println("No encuentro el archivo del subreporte.");
System.exit(2);
}
JasperReport masterReport = null;
try {
masterReport = (JasperReport) JRLoader.loadObject(urlMaestro);
} catch (JRException e) {
System.out
.println("Error cargando el reporte maestro: " + e.getMessage());
System.exit(3);
}
// Cargamos el subreporte
JasperReport subReport = null;
try {
subReport = (JasperReport) JRLoader.loadObject(urlSubreporte);
} catch (JRException e) {
System.out.println("Error cargando el subreporte: " + e.getMessage());
System.exit(3);
}
// Cargamos el reporte maestro
//********************************************/
// Obtenemos una conexi贸n con la base de datos
Connection con = null;
try {
con = DriverManager.getConnection("jdbc:odbc:a");
//con = DriverManager.getConnection("jdbc:mysql://localhost/subreports");
} catch (SQLException e) {
System.out.println("Error de conexi贸n: " + e.getMessage());
System.exit(4);
}
// Par谩metros del reporte maestro
Map masterParams = new HashMap();
masterParams.put("SUBREPORT", subReport);
masterParams.put("PERSONA_ID", new Integer(3));
// Par谩metros del subreporte:
// Ninguno. El par谩metro PERSONA_ID, se lo pasa
// el report maestro
// Llenamos el reporte maestro (y por ende el subreporte)
// y obtenemos un objeto JasperPrint que puede ser
// visualizado, impreso o exportado
JasperPrint masterPrint = null;
System.out.println("AQUI VA 1 ");
try {
System.out.println("AQUI VA 2");
masterPrint = JasperFillManager.fillReport(masterReport, masterParams,
con);
pero al ejecutarse esta linea :
masterPrint = JasperFillManager.fillReport(masterReport, masterParams,
con);
sale el error:
AQUI VA 2
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at net.sf.jasperreports.engine.fill.JRBaseFiller.<clinit>(JRBaseFiller.java:128)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:111)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:291)
at Reportes.SUBREPORTS.SubreportsSample.main(SubreportsSample.java:122)
POR FAVOR!!! ES URGENTE, QUIEN PUEDE ASESORARME?? GRACIAS
Hola!! oye el codigo esta bien, te da esas excepciones por no tener unas librerias en tu proyecto estas librerias son:
jasperreports-1.3.3.jar
commons-beanutils.jas
commons-colletions.jar
commons-digester.jar
commons-logging.jar
poi-2.5.1-final-20040804.jar
itext-1.1.jar
con estas librerias tu reporte funcionara!!
Daniel Navas
email: [email protected]
jasperreports-1.3.3.jar
commons-beanutils.jas
commons-colletions.jar
commons-digester.jar
commons-logging.jar
poi-2.5.1-final-20040804.jar
itext-1.1.jar
con estas librerias tu reporte funcionara!!
Daniel Navas
email: [email protected]
