1
a problem in the use of JasperReports
.
I created a class to generate the reports, from some parameters. It inside the Eclipse generates normally, but when I export the WAR
and put into production, it does nothing.
At first, I noticed that there was a detail - he couldn’t find the file by using %20 instead of the spaces in the report path, so I noticed in the Tomcat log, which had given a FileNotFoundException
. Hence I used the URLDecoder.decode
to resolve this, and he no longer returns the FileNotFoundException
, but still not generating the report out of Eclipse.
Someone went through something like this?
public void imprimir(String arquivo, String nmTitulo,String nmParams, String nmParamsSegunda, List<?> dados) throws Exception{
JasperReport report = null;
try{
String caminhoRelatorio = this.getPathToReportPackage() + arquivo+".jrxml";
System.out.println("porCentoVinte:"+caminhoRelatorio);
caminhoRelatorio=URLDecoder.decode(caminhoRelatorio,"UTF-8");
System.out.println("porCentoVinte:"+caminhoRelatorio);
report = JasperCompileManager.compileReport(caminhoRelatorio);
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
VsecUsuario usr = (VsecUsuario) session.getAttribute("usuarioLogado");
String nmUsuario = usr.getNmUsuario();
String nmEmpresa = new Fncts().nmEmpresa();
Map relParams = new HashMap();
relParams.put("pNmTitulo", nmTitulo);
relParams.put("pNmEmpresa", nmEmpresa);
relParams.put("pNmRelParam", nmParams);
relParams.put("pNmRelParamSegunda", nmParamsSegunda);
relParams.put("pUsuarioSistema", nmUsuario);
JasperPrint pronto = JasperFillManager.fillReport(report, relParams, new JRBeanCollectionDataSource(dados));
JasperViewer viewer = new JasperViewer( pronto , false );
viewer.setVisible(true);
}catch(Exception e){
new Fncts().aviso(e.getMessage());
}
}
And here the log
porCentoVinte:/D:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/SGC/WEB-INF/classes/br/com/virtus/jasper/reembolso.jrxml
porCentoVinte:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/classes/br/com/virtus/jasper/reembolso.jrxml
porCentoVinte:D:\Program%20Files\Apache%20Software%20Foundation\Tomcat%206.0\webapps\SGC\WEB-INF\classes\br\com\virtus\jasper\extratocartao.jrxml
porCentoVinte:D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\SGC\WEB-INF\classes\br\com\virtus\jasper\extratocartao.jrxml
[EL Finest]: jpa: 2015-05-14 16:21:12.003--ServerSession(14536956)--Thread(Thread[Finalizer,8,system])--Begin undeploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 6
[EL Finest]: jpa: 2015-05-14 16:21:12.003--ServerSession(14536956)--Thread(Thread[Finalizer,8,system])--End undeploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 5
[EL Finest]: jpa: 2015-05-14 16:21:12.003--ServerSession(14536956)--Thread(Thread[Finalizer,8,system])--Begin undeploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 5
[EL Finest]: jpa: 2015-05-14 16:21:12.003--ServerSession(14536956)--Thread(Thread[Finalizer,8,system])--End undeploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 4
[EL Finest]: jpa: 2015-05-14 16:21:12.003--ServerSession(14536956)--Thread(Thread[Finalizer,8,system])--Begin undeploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 4
[EL Finest]: jpa: 2015-05-14 16:21:12.003--ServerSession(14536956)--Thread(Thread[Finalizer,8,system])--End undeploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 3
[EL Finest]: jpa: 2015-05-14 16:21:13.581--ServerSession(14536956)--Thread(Thread[http-8081-7,5,main])--Begin predeploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 3
[EL Finest]: jpa: 2015-05-14 16:21:13.581--ServerSession(14536956)--Thread(Thread[http-8081-7,5,main])--End predeploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 4
[EL Finest]: jpa: 2015-05-14 16:21:13.581--ServerSession(14536956)--Thread(Thread[http-8081-7,5,main])--Begin deploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 4
[EL Finest]: jpa: 2015-05-14 16:21:13.581--ServerSession(14536956)--Thread(Thread[http-8081-7,5,main])--End deploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 4
----TESTE DE BUSCA POR CÓDIGO----
[EL Finer]: connection: 2015-05-14 16:21:13.581--ServerSession(14536956)--Thread(Thread[http-8081-7,5,main])--client acquired: 8519566
[EL Finer]: transaction: 2015-05-14 16:21:13.581--ClientSession(8519566)--Thread(Thread[http-8081-7,5,main])--acquire unit of work: 11594463
[EL Finest]: query: 2015-05-14 16:21:13.581--UnitOfWork(11594463)--Thread(Thread[http-8081-7,5,main])--Execute query ReadObjectQuery(name="readFiliai" referenceClass=Filiai sql="SELECT CD_FILIAL, CD_ARQ_ENVIO, CD_ARQ_RETORNO, CD_CEP_ENDERECO_FILIAL, CD_CNPJ, CD_DDD_FILIAL, CD_FAX_FILIAL, CD_IE_FILIAL, CD_IM_FILIAL, CD_LOCAL_COBRANCA, CD_NUMERO_ENDERECO_FILIAL, CD_OCORR_DEPOSITO_CHEQUE, CD_SERIE_NOTA_FISCAL, CD_TELEFONE_FILIAL, CD_ULTIMA_NF_FILIAL, CD_ULTIMO_PEDIDO_COMPRA, DONE, DTL, NM_BAIRRO_ENDERECO_FILIAL, NM_CIDADE_FILIAL, NM_COMPL_ENDERECO_FILIAL, NM_ENDERECO_FILIAL, NM_FILIAL, PC_ISS, PC_MAXIMO_FRETE_FILIAL, PC_MULTA_FILIAL, QT_DIAS_CARENCIA_FILIAL, SG_UF FROM FILIAIS WHERE (CD_FILIAL = ?)")
[EL Finest]: transaction: 2015-05-14 16:21:13.581--UnitOfWork(11594463)--Thread(Thread[http-8081-7,5,main])--Register the existing object br.com.virtus.sgc.model.Filiai@87208fa3
[EL Finest]: jpa: 2015-05-14 16:21:14.19--ServerSession(14536956)--Thread(Thread[Finalizer,8,system])--Begin undeploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 4
[EL Finest]: jpa: 2015-05-14 16:21:14.19--ServerSession(14536956)--Thread(Thread[Finalizer,8,system])--End undeploying Persistence Unit SGCProjectJPA; session file:/D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/SGC/WEB-INF/lib/SGCProjectJPA.jar_SGCProjectJPA; state Deployed; factoryCount 3
no stacktrace of error?
– wryel
In the log there is no message... I am not on the machine at the moment, but as soon as I show. There is no error in the log, and it normally runs when debugging in eclipse. And this intrigues me.
– Thiago Paiva
Checked the server classpath?
– Alexandre Strevenski
@Alexandrestrevenski Classpath would be the Tomcat lib folder? If it is, I checked, I will add some information.
– Thiago Paiva
I had the same problem, I was able to fix it, it was Jasper’s source. If it’s not that try to give a Tail(if it’s linux) in the log and try to run again to see the right log and real time in production
– Alex Michelim Collareda
Instead of using the path to the report, input stream of him, recovered from classpath, something like
InputStream is = SuaClasse.class.getResourceAsStream("/br/com/virtus/jasper/reembolso.jrxml"); JasperReport report = JasperCompileManager.compileReport(is);
– Bruno César