Pessoal é o seguinte, estou a tentar chamar um relatório numa aplicação web e ele me retorna uma excepção do tipo java.awt.HeadlessException, mais isso só acontece caso tente chamar o objecto JasperViewer, agora se eu alterar o código para gerar o relatorio em pdf ele funciona normalmente. A excepção que ele manda vem do catch da conexão.
Eis o código:
try {
Connection conexao = Conexao.getConnection();
HashMap parametros = new HashMap();
ServletContext sc = getServletContext();
JasperPrint jp = JasperFillManager.fillReport(sc.getRealPath("/factura.jasper"), parametros, conexao);
JasperViewer jv = new JasperViewer(jp);
jv.setVisible(true);
Conexao.closeConnection();
} catch (JRException ex) {
System.out.println("Erro ao gerar relatorio:"+ ex.getMessage());
}
catch(Exception ex){
System.out.println("Erro na conexão:"+ ex);
}