Ola pessoal, alguém pode me ajudar estou com um problema em um relatório utilizando JasperSoft Studio com maven, local na minha máquina o relatório funciona, quando subo para web para de funcionar não traz a tela tela de impressão.
net.sf.jasperreports jasperreports 6.4.0
Método do MangenBean
public void imprimir() {
try {
String caminho = Faces.getRealPath("/reports/produtos.jasper");
Map<String, Object> parametros = new HashMap<>();
Connection conexao = HibernateUtil.getConexao();
JasperPrint relatorio = JasperFillManager.fillReport(caminho, parametros, conexao);
JasperPrintManager.printReport(relatorio, true);
} catch (JRException erro) {
Messages.addGlobalError("Ocorreu um erro ao tentar gerar o relatório");
erro.printStackTrace();
}
}
Hibernate Util
package br.pro.delfino.drogaria.util;
import java.sql.Connection;
import java.sql.SQLException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.jdbc.ReturningWork;
import org.hibernate.service.ServiceRegistry;
public class HibernateUtil {
private static SessionFactory fabricaDeSessoes = criarFabricaDeSessoes();
public static SessionFactory getFabricaDeSessoes() {
return fabricaDeSessoes;
}
public static Connection getConexao(){
Session sessao = fabricaDeSessoes.openSession();
Connection conexao = sessao.doReturningWork(new ReturningWork<Connection>() {
@Override
public Connection execute(Connection conn) throws SQLException {
return conn;
}
});
return conexao;
}
private static SessionFactory criarFabricaDeSessoes() {
try {
Configuration configuracao = new Configuration().configure();
ServiceRegistry registro = new StandardServiceRegistryBuilder().applySettings(configuracao.getProperties()).build();
SessionFactory fabrica = configuracao.buildSessionFactory(registro);
return fabrica;
} catch (Throwable ex) {
System.err.println("A fábrica de sessões não pode ser criada." + ex);
throw new ExceptionInInitializerError(ex);
}
}
}
<p:commandButton icon=“ui-icon-print” actionListener="#{produtoBean.imprimir}" />
tem uma pasta reports onde esta os jar do relatorio.