Olá, amigos!
Criei meu primeiro relatório usando o iReport (funcionou muito bem) e criei um código JAVA para tentar executá-lo. Porém ele não executa corretamente e eu ja olhei várias apostilas. Pelo que parece estou fazendo de maneira correta.
Gostaria de saber se alguem de vocês pode me ajudar a descobrir qual erro que estou cometendo.
Erro:log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/io/Resource
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
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:198)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:175)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.loadRegistries(DefaultExtensionsRegistry.java:135)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getRegistries(DefaultExtensionsRegistry.java:121)
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:98)
at net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:76)
at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:174)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:74)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:56)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:143)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:53)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
at br.com.guaicurus.controle.AbreRelPagPer.main(AbreRelPagPer.java:37)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.io.Resource
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 19 more
Java Result: 1
public class AbreRelPagPer {
public static void main (String[] args) {
Data data = new Data();
Date dataInicial;
Date dataFinal;
String dataIni = JOptionPane.showInputDialog("Digite a data inicial. Modelo : dd/MM/yyyy");
dataInicial = data.getData(dataIni);
String dataFim = JOptionPane.showInputDialog("Digite a data final. Modelo : dd/MM/yyyy");
dataFinal = data.getData(dataFim);
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String db = "jdbc:mysql://localhost:3306/guaicurus";
conn = DriverManager.getConnection(db, "root", "root");
HashMap<String, Date> parameterMap = new HashMap<String, Date>();
parameterMap.put("PAR_DATA_INI", dataInicial);
parameterMap.put("PAR_DATA_FIM", dataFinal);
String arquivo = System.getProperty("user.dir") +
"/src/br/com/guaicurus/formularios/FormularioPagamentos.jasper";
JasperPrint jp = JasperFillManager.fillReport(arquivo, parameterMap, conn);
JasperViewer.viewReport(jp, false);
} catch (SQLException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
Logger.getLogger(AbreRelPagPer.class.getName()).log(Level.SEVERE, null, ex);
} catch (JRException ex) {
ex.printStackTrace();
} finally {
try {
if(!conn.isClosed())
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}