Tenho a seguinte classe:
package Relatorios;
import Model.conexao.ConnectionFactory;
import java.io.File;
import java.sql.Connection;
import java.util.HashMap;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;
//import net.sf.jasperreports.engine.JRResultSetDataSource;
//import net.sf.jasperreports.engine.JasperExportManager;
//import net.sf.jasperreports.engine.JasperFillManager;
//import net.sf.jasperreports.engine.JasperPrint;
public class RelatorioTeste2 {
Connection con;
public RelatorioTeste2(){
try{
con = ConnectionFactory.getConnection();
String path = "src/Relatorios/";
File file = new File(path);
file = file.getAbsoluteFile();
//pega o caminho físico até o arquivo .jasper
String arquivo = System.getProperty("user.dir") +
"/src/Relatorios/Relatorio_Hinos_Jovem.jrxml";
//Representa a definição do relatório. A partir do template XML é criado um JasperDesign.
JasperDesign design = JRXmlLoader.load(arquivo);
//Representa o JasperDesign compilado. O processo de compilação verifica o design do relatório e compila o design em um objeto JasperReport.
JasperReport jr = JasperCompileManager.compileReport(design);
//HashMap de parametros utilizados no relatório. Sempre instanciados
HashMap valores = new HashMap( );
//Representa o relatório gerado. É criado um JasperPrint a partir de um JasperReport, contendo o relatório preenchido.
JasperPrint impressao = JasperFillManager.fillReport(jr,valores, con);
//JasperViewer é um componente visual do JasperReports
JasperViewer jrViewer = new JasperViewer(impressao,false);
jrViewer.setVisible(true);
jrViewer.setDefaultCloseOperation(jrViewer.DISPOSE_ON_CLOSE);
} catch (Exception e){
JOptionPane.showMessageDialog(null, "Verifique esse erro: \n"+e.getMessage(),"Aviso!",JOptionPane.ERROR_MESSAGE);
}
}
public static void main (String args[])
{
new RelatorioTeste2();
}
}
erro:
Relatorio
Conectado com sucesso
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.engine.xml.JRXmlDigesterFactory).
log4j:WARN Please initialize the log4j system properly.
CONSTRUÍDO COM SUCESSO (tempo total: 31 segundos)
mensagem em JoptionPane :
Verifique esse erro:
Error creating SAX parser