引起:使用Jasperreports的java.io.FileNotFoundException错误 [英] Caused by: java.io.FileNotFoundException error using Jasperreports

查看:2033
本文介绍了引起:使用Jasperreports的java.io.FileNotFoundException错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

很多人研究过jasperreports,我陷入了错误。真的不知道我可能在哪里丢失,因为它是第一次使用。

Much has researched the jasperreports and I'm locked in error. Really do not know where I might be missing because it is the first time use.

发生错误: java.io.FileNotFoundException:

    17:34:08,009 ERROR [stderr] (http-localhost-127.0.0.1-8080-5) net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: C:\jboss-as-7.1.1.Final\standalone\deployments\fittaxi.war\src\main\webapp\relatorios\voucher.jasper

17:34:08,012 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:114)

17:34:08,013 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:103)

17:34:08,014 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:580)

17:34:08,015 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:930)

17:34:08,017 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at br.com.eptc.taxi.tarifa.util.UtilRelatorios.imprimeRelatorio(UtilRelatorios.java:29)

17:34:08,018 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at br.com.eptc.taxi.tarifa.view.VoucherBean.imprimirVoucher(VoucherBean.java:439)

17:34:08,019 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

17:34:08,020 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

17:34:08,021 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

17:34:08,022 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at java.lang.reflect.Method.invoke(Unknown Source)

17:34:08,023 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)

17:34:08,025 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,026 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374)

17:34:08,027 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:127)

17:34:08,029 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:135)

17:34:08,030 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36)

17:34:08,031 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,033 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)

17:34:08,034 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36)

17:34:08,035 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,036 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)

17:34:08,038 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,039 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:58)

17:34:08,040 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,041 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationInterceptor.java:156)

17:34:08,043 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,044 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:82)

17:34:08,046 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,047 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)

17:34:08,048 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,049 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

17:34:08,050 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53)

17:34:08,052 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,053 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ejb3.component.stateful.StatefulComponentInstanceInterceptor.processInvocation(StatefulComponentInstanceInterceptor.java:66)

17:34:08,055 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,056 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228)

17:34:08,057 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304)

17:34:08,058 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190)

17:34:08,059 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,060 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)

17:34:08,062 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,063 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)

17:34:08,064 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,066 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)

17:34:08,067 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,068 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:32)

17:34:08,069 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,071 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)

17:34:08,072 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,073 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

17:34:08,074 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165)

17:34:08,075 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:173)

17:34:08,077 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,078 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ejb3.component.stateful.StatefulComponentIdInterceptor.processInvocation(StatefulComponentIdInterceptor.java:52)

17:34:08,079 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)

17:34:08,080 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)

17:34:08,082 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72)

17:34:08,083 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at br.com.eptc.taxi.tarifa.view.VoucherBean$$$view252.imprimirVoucher(Unknown Source)

17:34:08,084 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

17:34:08,085 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

17:34:08,086 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

17:34:08,087 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at java.lang.reflect.Method.invoke(Unknown Source)

17:34:08,088 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264)

17:34:08,090 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)

17:34:08,091 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)

17:34:08,092 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260)

17:34:08,093 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:111)

17:34:08,095 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56)

17:34:08,096 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)

17:34:08,097 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at br.com.eptc.taxi.tarifa.view.VoucherBean$Proxy$_$$_Weld$Proxy$.imprimirVoucher(VoucherBean$Proxy$_$$_Weld$Proxy$.java)

17:34:08,099 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at br.com.eptc.taxi.tarifa.view.VoucherBean$Proxy$_$$_WeldClientProxy.imprimirVoucher(VoucherBean$Proxy$_$$_WeldClientProxy.java)

17:34:08,100 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

17:34:08,101 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

17:34:08,102 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

17:34:08,103 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at java.lang.reflect.Method.invoke(Unknown Source)

17:34:08,104 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.el.parser.AstValue.invoke(AstValue.java:262)

17:34:08,105 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)

17:34:08,107 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39)

17:34:08,108 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)

17:34:08,109 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)

17:34:08,110 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)

17:34:08,112 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

17:34:08,113 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at javax.faces.component.UICommand.broadcast(UICommand.java:315)

17:34:08,114 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)

17:34:08,115 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)

17:34:08,116 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

17:34:08,117 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

17:34:08,118 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

17:34:08,119 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)

17:34:08,120 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)

17:34:08,122 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)

17:34:08,123 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)

17:34:08,124 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)

17:34:08,126 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)

17:34:08,127 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)

17:34:08,129 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)

17:34:08,130 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)

17:34:08,131 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)

17:34:08,133 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)

17:34:08,134 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

17:34:08,135 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

17:34:08,136 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)

17:34:08,137 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)

17:34:08,139 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)

17:34:08,140 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)

17:34:08,141 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   at java.lang.Thread.run(Unknown Source)

17:34:08,142 ERROR [stderr] (http-localhost-127.0.0.1-8080-5) Caused by: java.io.FileNotFoundException: C:\jboss-as-7.1.1.Final\standalone\deployments\fittaxi.war\src\main\webapp\relatorios\voucher.jasper

17:34:08,144 ERROR [stderr] (http-localhost-127.0.0.1-8080-5)   ... 106 more

我的班级工具:

    public class UtilRelatorios {
        public static void imprimeRelatorio(String relatorioNome,
            HashMap parametros) {
        try{
            JRBeanCollectionDataSource dataSource =
                    new JRBeanCollectionDataSource(null);
            FacesContext facesContext = FacesContext.getCurrentInstance();
            ServletContext scontext = 
                    (ServletContext) facesContext.getExternalContext().getContext();
            String path = scontext.getRealPath("src/main/webapp/relatorios");
            JasperPrint jasperPrint = 
                    JasperFillManager.fillReport(
                            scontext.getRealPath("src/main/webapp/relatorios")+ File.separator+relatorioNome+".jasper",
                            parametros, dataSource);
            byte[] b = JasperExportManager.exportReportToPdf(jasperPrint);
            HttpServletResponse res = (HttpServletResponse)
                    facesContext.getExternalContext().getResponse();
            res.setContentType("application/pdf");
            int codigo = (int) (Math.random()*1000);
            res.setHeader("Content-disposition","inline);filename=relatorio_"+codigo+".pdf");
            res.getOutputStream().write(b);
            facesContext.renderResponse();
        }catch (Exception e){
            e.printStackTrace();
        }       
    }   
}

我的方法:

public void imprimirVoucher(){
    HashMap parametros = new HashMap();
    parametros.put("dataEmissao", voucher.getDataEmissao());
    parametros.put("hora", voucher.getHora());
    parametros.put("bandeiraNome", voucher.getBandeiraIntervalo().getBandeira().getNome());
    parametros.put("prefixo", voucher.getVeiculo().getPrefixo());
    parametros.put("volPequenos", voucher.getVolumePequeno() );
    parametros.put("volNormais", voucher.getVolumeNormal() );
    parametros.put("volgrandes", voucher.getVolumeGrande());
    parametros.put("totalVolPequenos", voucher.getTotalVolumesPequenos());
    parametros.put("totalVolNormais", voucher.getTotalVolumesNormais());
    parametros.put("totalVolGrandes", voucher.getTotalVolumesGrandes());
    parametros.put("valorCorrida",voucher.getValorCorrida());
    parametros.put("valorVoucher",voucher.getValorVoucher());
    parametros.put("origem", voucher.getOrigem().getNomeFantasia());
    parametros.put("destino",voucher.getDestinoVoucher() );
    parametros.put("passageiro", voucher.getPessoa().getNome());
    parametros.put("observacao", voucher.getObservacao());
    parametros.put("id",voucher.getId() );
    parametros.put("formaPagamento", voucher.getFormaPagamento().getNome() );           
    UtilRelatorios.imprimeRelatorio("voucher", parametros);
}

我的comandLink

My comandLink

<h:commandLink action="#{voucherBean.imprimirVoucher()}" value="Imprimir" 
                styleClass="btn btn-primary"  target="_blank" />


推荐答案

OP调用

String path = scontext.getRealPath("src/main/webapp/relatorios");
JasperPrint jasperPrint = JasperFillManager.fillReport(scontext.getRealPath("src/main/webapp/relatorios")+ File.separator+relatorioNome+".jasper", parametros, dataSource);

即。他引用 src / main / webapp / relatorios 中的文件。这可能适用于有源文件树的开发机器上的测试类,但Maven通常不会将 src 文件夹放入最终部署的WAR中。

i.e. he references files in src/main/webapp/relatorios. This may work in test classes on a development machine where there are source file trees but Maven usually won't put the src folder into the eventually deployed WAR.

但就目前的情况而言,有问题的文件来自 src / main / webapp 。此文件夹的内容将复制到WAR根目录中。因此,

In the case at hand, though, the files in question are from src/main/webapp. The content of this folder are copied into the WAR root. Thus,

String path = scontext.getRealPath("relatorios");
JasperPrint jasperPrint = JasperFillManager.fillReport(scontext.getRealPath("relatorios")+ File.separator+relatorioNome+".jasper", parametros, dataSource);

应该有效。尽管如此,


  • 我不确定JBoss是否真的提取了WAR。如果没有,那就没有真正的道路。但是,查看文档时,如果servlet容器无法翻译,则会读取 getRealPath 返回 null 真实路径的给定虚拟路径。由于问题不在于 null 值,因此,JBoss似乎已经提取。

  • 我怀疑你想公开提供你的 * .jasper 文件。在你的情况下,他们似乎是。

  • I'm not sure whether JBoss actually extracts WARs or not. If it does not, there is no real path. Looking at the documentation, though, one reads that getRealPathreturns null if the servlet container is unable to translate the given virtual path to a real path. As the issue is not about a null value, therefore, JBoss seems to extract.
  • I doubt you want to make your *.jasper files publicly available. In your case they seem to be, though.

这篇关于引起:使用Jasperreports的java.io.FileNotFoundException错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆