publicArquivoDTOimprimir(LongidRequisicao){try{Optional<Requisicao>requisicaoExiste=repository.findById(idRequisicao);if(requisicaoExiste.isPresent()){BigDecimaltotal=newBigDecimal("0");JRDataSourcedataSource=newJRBeanCollectionDataSource(inserirLista(requisicaoExiste,total));Map<String,Object>parametros=newHashedMap<String,Object>();parametros.put("lojaOrigem",requisicaoExiste.get().getLojaOrigem().getNome());parametros.put("lojaDestino",requisicaoExiste.get().getLojaDestino().getNome());parametros.put("funcionario",requisicaoExiste.get().getFuncionario().getNome());parametros.put("dataEntrega",converterLocalDateParaString(converterLocalDateTimeJava(requisicaoExiste.get().getDataEntrega()),DD_MM_YYYY));parametros.put("natureza",requisicaoExiste.get().getObservacao());parametros.put("numeroRequisicao",requisicaoExiste.get().getNumero());parametros.put("status",requisicaoExiste.get().getStatus().getDescricao());parametros.put("total",total);log.info("linha 51");byte[]bytes=runReportToPdf("src/main/resources/relatorio/requisicao_compra.jasper",parametros,dataSource);log.info("linha 54");returnArquivoDTO.builder().arquivo(bytes).contentType("Application/pdf").nome("requisicao_"+requisicaoExiste.get().getNumero()+".pdf").build();}}catch(JRExceptione){thrownewGeralException("Erro ao gerar relatório de requisição de compras !");}returnArquivoDTO.builder().build();}privateCollection<RequisicaoItemDTO>inserirLista(Optional<Requisicao>requisicaoExiste,BigDecimaltotal){Collection<RequisicaoItemDTO>itens=newArrayList<>();requisicaoExiste.get().getRequisicoesItens().forEach(item->{itens.add(RequisicaoItemDTO.builder().insumo(item.getInsumo().getNome()).quantidade(item.getQuantidade()).quantidadeAprovada(item.getQuantidadeAprovada()).total(item.getTotal()).ultimoCusto(item.getUltimoCusto()).unidade(item.getUnidade().getNome()).build());total.add(item.getTotal());});returnitens;}
Já tentou passar o caminho absoluto até o diretório relatorio?
guilhermebhte
Como que pega este caminho absoluto ?
Vi em alguns posts, do proprio GUJ, mas não consegui
String caminhoAtual = new File(“src/main/resources/relatorio/requisicao_compra.jasper”).getAbsolutePath();, mas não deu certo.
lvbarbosa1 like
Nesse ponto você está engolindo a exception que teoricamente mostra a causa raiz do problema. Vc precisa logar essa excepcion de alguma forma, seja com um printStackTrace ou embutindo ela na exception nova que você cria.
publicArquivoDTOimprimir(LongidRequisicao){OutputStreamout=null;try{Optional<Requisicao>requisicaoExiste=repository.findById(idRequisicao);if(requisicaoExiste.isPresent()){total=newBigDecimal("0");JRDataSourcedataSource=newJRBeanCollectionDataSource(inserirLista(requisicaoExiste));Map<String,Object>parametros=newHashedMap<String,Object>();parametros.put("lojaOrigem",requisicaoExiste.get().getLojaOrigem().getNome());parametros.put("lojaDestino",requisicaoExiste.get().getLojaDestino().getNome());parametros.put("funcionario",requisicaoExiste.get().getFuncionario().getNome());parametros.put("dataEntrega",converterLocalDateParaString(converterLocalDateTimeJava(requisicaoExiste.get().getDataEntrega()),DD_MM_YYYY));parametros.put("natureza",requisicaoExiste.get().getObservacao());parametros.put("numeroRequisicao",requisicaoExiste.get().getNumero());parametros.put("status",requisicaoExiste.get().getStatus().getDescricao());parametros.put("total",total);InputStreaminputStream=getClass().getResourceAsStream("/relatorio/requisicao_compra.jasper");out=ReportUtils.createPDFReport(inputStream,parametros,dataSource,response);returnnull;}}catch(JRException|IOExceptione){e.printStackTrace();thrownewGeralException("Erro ao gerar relatório de requisição de compras !");}finally{if(out!=null){try{out.close();}catch(IOExceptione){e.printStackTrace();thrownewGeralException("Erro ao gerar relatório de requisição de compras !");}}}returnArquivoDTO.builder().build();}
Fiz assim e não roda no servidor, somente local também
packagebr.com.ghnetsoft.comprasfood.relatorio.service;import staticbr.com.ghnetsoft.principal.util.DataUtil.DD_MM_YYYY;import staticbr.com.ghnetsoft.principal.util.DataUtil.converterLocalDateParaString;import staticbr.com.ghnetsoft.principal.util.DataUtil.converterLocalDateTimeJava;importjava.math.BigDecimal;importjava.util.ArrayList;importjava.util.Collection;importjava.util.Map;importjava.util.Optional;importorg.apache.commons.collections4.map.HashedMap;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importbr.com.ghnetsoft.comprasfood.model.requisicao.Requisicao;importbr.com.ghnetsoft.comprasfood.model.requisicaoitem.RequisicaoItem;importbr.com.ghnetsoft.comprasfood.relatorio.dto.RequisicaoItemDTO;importbr.com.ghnetsoft.comprasfood.repository.requisicao.RequisicaoRepository;importbr.com.ghnetsoft.principal.dto.ArquivoDTO;importbr.com.ghnetsoft.principal.exception.GeralException;importnet.sf.jasperreports.engine.JRDataSource;importnet.sf.jasperreports.engine.JRException;importnet.sf.jasperreports.engine.JasperRunManager;importnet.sf.jasperreports.engine.data.JRBeanCollectionDataSource;@ServicepublicclassRequisicaoService{@AutowiredprivateRequisicaoRepositoryrepository;privateBigDecimaltotal;publicArquivoDTOimprimir(LongidRequisicao){try{Optional<Requisicao>requisicaoExiste=repository.findById(idRequisicao);if(requisicaoExiste.isPresent()){total=newBigDecimal("0");JRDataSourcedataSource=newJRBeanCollectionDataSource(inserirLista(requisicaoExiste));Map<String,Object>parametros=newHashedMap<String,Object>();parametros.put("lojaOrigem",requisicaoExiste.get().getLojaOrigem().getNome());parametros.put("lojaDestino",requisicaoExiste.get().getLojaDestino().getNome());parametros.put("funcionario",requisicaoExiste.get().getFuncionario().getNome());parametros.put("dataEntrega",converterLocalDateParaString(converterLocalDateTimeJava(requisicaoExiste.get().getDataEntrega()),DD_MM_YYYY));parametros.put("natureza",requisicaoExiste.get().getObservacao());parametros.put("numeroRequisicao",requisicaoExiste.get().getNumero());parametros.put("status",requisicaoExiste.get().getStatus().getDescricao());parametros.put("total",total);byte[]bytes=JasperRunManager.runReportToPdf(this.getClass().getClassLoader().getResourceAsStream("relatorio/requisicao_compra.jasper"),parametros,dataSource);returnArquivoDTO.builder().contentType("application/pdf").arquivo(bytes).nome("teste").build();}}catch(JRExceptione){e.printStackTrace();thrownewGeralException("Erro ao gerar relatório de requisição de compras !");}returnArquivoDTO.builder().build();}privateCollection<RequisicaoItemDTO>inserirLista(Optional<Requisicao>requisicaoExiste){Collection<RequisicaoItemDTO>itens=newArrayList<>();for(RequisicaoItemitem:requisicaoExiste.get().getRequisicoesItens()){itens.add(RequisicaoItemDTO.builder().insumo(item.getInsumo().getNome()).quantidade(item.getQuantidade()).quantidadeAprovada(item.getQuantidadeAprovada()).total(item.getTotal()).ultimoCusto(item.getUltimoCusto()).unidade(item.getUnidade().getNome()).build());total=total.add(item.getTotal());}returnitens;}}
2021-01-1319:35:01.519ERROR1--- [nio-8600-exec-2] o.a.c.c.C.[.[.[.[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [/modulo-relatorio-api] threw exception [Handler dispatch failed; nested exception is java.lang.InternalError: java.lang.reflect.InvocationTargetException] with root causejava.lang.NullPointerException:nullatjava.desktop/sun.awt.FontConfiguration.getVersion(UnknownSource)~[na:na]atjava.desktop/sun.awt.FontConfiguration.readFontConfigFile(UnknownSource)~[na:na]atjava.desktop/sun.awt.FontConfiguration.init(UnknownSource)~[na:na]atjava.desktop/sun.awt.X11FontManager.createFontConfiguration(UnknownSource)~[na:na]atjava.desktop/sun.font.SunFontManager$2.run(UnknownSource)~[na:na]atjava.base/java.security.AccessController.doPrivileged(NativeMethod)~[na:na]atjava.desktop/sun.font.SunFontManager.<init>(UnknownSource)~[na:na]atjava.desktop/sun.awt.FcFontManager.<init>(UnknownSource)~[na:na]atjava.desktop/sun.awt.X11FontManager.<init>(UnknownSource)~[na:na]atjava.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)~[na:na]atjava.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(UnknownSource)~[na:na]atjava.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(UnknownSource)~[na:na]atjava.base/java.lang.reflect.Constructor.newInstance(UnknownSource)~[na:na]atjava.desktop/sun.font.FontManagerFactory$1.run(UnknownSource)~[na:na]atjava.base/java.security.AccessController.doPrivileged(NativeMethod)~[na:na]atjava.desktop/sun.font.FontManagerFactory.getInstance(UnknownSource)~[na:na]atjava.desktop/java.awt.Font.<init>(UnknownSource)~[na:na]atjava.desktop/java.awt.Font.createFont(UnknownSource)~[na:na]atnet.sf.jasperreports.engine.fonts.AwtFontManager.getAwtFont(AwtFontManager.java:89)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontFace.loadFont(SimpleFontFace.java:181)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontFace.setTtf(SimpleFontFace.java:162)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFace(SimpleFontExtensionHelper.java:390)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamily(SimpleFontExtensionHelper.java:311)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontExtensions(SimpleFontExtensionHelper.java:259)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontExtensions(SimpleFontExtensionHelper.java:230)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontExtensions(SimpleFontExtensionHelper.java:187)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.FontExtensionsRegistry.ensureFontExtensions(FontExtensionsRegistry.java:93)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:57)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:134)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:86)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:116)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:79)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRFiller.createBandReportFiller(JRFiller.java:251)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRFiller.createReportFiller(JRFiller.java:272)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:156)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:145)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:758)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:739)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.JasperRunManager.runToPdf(JasperRunManager.java:458)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:852)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atbr.com.ghnetsoft.comprasfood.relatorio.service.RequisicaoService.imprimir(RequisicaoService.java:51)~[classes!/:0.0.2-SNAPSHOT]atbr.com.ghnetsoft.comprasfood.relatorio.resource.RequisicaoResource.buscarPeloId(RequisicaoResource.java:31)~[classes!/:0.0.2-SNAPSHOT]atjava.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)~[na:na]atjava.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(UnknownSource)~[na:na]atjava.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(UnknownSource)~[na:na]atjava.base/java.lang.reflect.Method.invoke(UnknownSource)~[na:na]atorg.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)~[spring-webmvc-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)~[spring-webmvc-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)~[spring-webmvc-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)~[spring-webmvc-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)~[spring-webmvc-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)~[spring-webmvc-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)~[spring-webmvc-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)~[spring-webmvc-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atjavax.servlet.http.HttpServlet.service(HttpServlet.java:626)~[tomcat-embed-core-9.0.39.jar!/:4.0.FR]atorg.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)~[spring-webmvc-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atjavax.servlet.http.HttpServlet.service(HttpServlet.java:733)~[tomcat-embed-core-9.0.39.jar!/:4.0.FR]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)~[tomcat-embed-websocket-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176)~[spring-security-oauth2-2.2.1.RELEASE.jar!/:na]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)~[spring-security-web-5.3.5.RELEASE.jar!/:5.3.5.RELEASE]atorg.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:93)~[spring-boot-actuator-2.3.5.RELEASE.jar!/:2.3.5.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)~[spring-web-5.2.10.RELEASE.jar!/:5.2.10.RELEASE]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atbr.com.ghnetsoft.comprasfood.relatorio.config.SmpleCORSFilter.doFilter(SmpleCORSFilter.java:42)~[classes!/:0.0.2-SNAPSHOT]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atorg.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atjava.base/java.util.concurrent.ThreadPoolExecutor.runWorker(UnknownSource)~[na:na]atjava.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(UnknownSource)~[na:na]atorg.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)~[tomcat-embed-core-9.0.39.jar!/:9.0.39]atjava.base/java.lang.Thread.run(UnknownSource)~[na:na]
staroski1 like
A pasta src não faz parte do classpath da aplicação
Não sei como está configurado seu ambiente, mas provavelmente basta você informar o caminho relativo a partir da raíz do classpath, que seria:
"/relatorio/requisicao_compra.jasper".
guilhermebhte
Acho que copiei o log errado ou o codigo era outro
loga atual:
2021-01-1414:28:39.524ERROR1--- [nio-8600-exec-4] o.a.c.c.C.[.[.[.[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [/modulo-relatorio-api] threw exception [Handler dispatch failed; nested exception is java.lang.InternalError: java.lang.reflect.InvocationTargetException] with root causejava.lang.NullPointerException:nullatjava.desktop/sun.awt.FontConfiguration.getVersion(UnknownSource)~[na:na]atjava.desktop/sun.awt.FontConfiguration.readFontConfigFile(UnknownSource)~[na:na]atjava.desktop/sun.awt.FontConfiguration.init(UnknownSource)~[na:na]atjava.desktop/sun.awt.X11FontManager.createFontConfiguration(UnknownSource)~[na:na]atjava.desktop/sun.font.SunFontManager$2.run(UnknownSource)~[na:na]atjava.base/java.security.AccessController.doPrivileged(NativeMethod)~[na:na]atjava.desktop/sun.font.SunFontManager.<init>(UnknownSource)~[na:na]atjava.desktop/sun.awt.FcFontManager.<init>(UnknownSource)~[na:na]atjava.desktop/sun.awt.X11FontManager.<init>(UnknownSource)~[na:na]atjava.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)~[na:na]atjava.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(UnknownSource)~[na:na]atjava.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(UnknownSource)~[na:na]atjava.base/java.lang.reflect.Constructor.newInstance(UnknownSource)~[na:na]atjava.desktop/sun.font.FontManagerFactory$1.run(UnknownSource)~[na:na]atjava.base/java.security.AccessController.doPrivileged(NativeMethod)~[na:na]atjava.desktop/sun.font.FontManagerFactory.getInstance(UnknownSource)~[na:na]atjava.desktop/java.awt.Font.<init>(UnknownSource)~[na:na]atjava.desktop/java.awt.Font.createFont(UnknownSource)~[na:na]atnet.sf.jasperreports.engine.fonts.AwtFontManager.getAwtFont(AwtFontManager.java:89)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontFace.loadFont(SimpleFontFace.java:181)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontFace.setTtf(SimpleFontFace.java:162)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFace(SimpleFontExtensionHelper.java:390)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontFamily(SimpleFontExtensionHelper.java:311)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.parseFontExtensions(SimpleFontExtensionHelper.java:259)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontExtensions(SimpleFontExtensionHelper.java:230)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.SimpleFontExtensionHelper.loadFontExtensions(SimpleFontExtensionHelper.java:187)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.FontExtensionsRegistry.ensureFontExtensions(FontExtensionsRegistry.java:93)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fonts.FontExtensionsRegistry.getExtensions(FontExtensionsRegistry.java:57)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.extensions.DefaultExtensionsRegistry.getExtensions(DefaultExtensionsRegistry.java:134)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:86)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:116)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:79)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRFiller.createBandReportFiller(JRFiller.java:251)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRFiller.createReportFiller(JRFiller.java:272)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:156)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:145)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:758)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:739)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.JasperRunManager.runToPdf(JasperRunManager.java:458)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atnet.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:852)~[jasperreports-6.16.0.jar!/:6.16.0-48579d909b7943b64690c65c71e07e0b80981928]atbr.com.ghnetsoft.comprasfood.relatorio.service.RequisicaoService.imprimir(RequisicaoService.java:51)~[classes!/:0.0.2-SNAPSHOT]
Essas fontes estão instaladas no seu ambiente de homologação?
guilhermebhte
Não. Se possível, me diz, como instalar. Linux ubuntu
staroski1 like
Mas daí tu me quebra.
Como é que sua aplicação vai usar uma fonte que você não tem?
Acredito que se você instalar o fontconfig vá funcionar:
apt-getinstall--assume-yesfontconfig
guilhermebhte
Na verdade eu nem sabia que tinha que instalar as fontes. Por isso coloquei os logs. Porque no windows, já vem né
Vou instalar e testar e falo aqui.
guilhermebhte
Fiz e não funcionou.
reiniciei o servidor
Mesmo erro
2021-01-1514:43:49.856ERROR1--- [nio-8600-exec-2] o.a.c.c.C.[.[.[.[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [/modulo-relatorio-api] threw exception [Handler dispatch failed; nested exception is java.lang.InternalError: java.lang.reflect.InvocationTargetException] with root causejava.lang.NullPointerException:nullatjava.desktop/sun.awt.FontConfiguration.getVersion(UnknownSource)~[na:na]
rodriguesabner1 like
guilhermebhte
2021-01-15 15:11:07.845 ERROR 1 — [nio-8600-exec-4] o.a.c.c.C.[.[.[.[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [/modulo-relatorio-api] threw exception [Handler dispatch failed; nested exception is java.lang.InternalError: java.lang.reflect.InvocationTargetException] with root cause
Você está configurando as fontes como dependência do seu projeto maven, mas o problema não é o projeto, se fosse, não funcionaria localmente.
O problema é que essas fontes não estão instaladas no seu servidor de homologação.
Talvez você tenha que falar com o pessoal de infraestrutura.
R
rafaspara2017
Galera estou com problemas no Jasper, alguem poderia me ajudar?
Estou com uma app Web, feita com frame Vaadin + MySQL + Spring, fiz o relatório usando JasperStudio, passei a query dentro do próprio relatório e ele está me retornando corretamente os dados do banco. O arquivo jrxml gerado pelo Studio foi salvo dentro do projeto, estou usando a IDE Eclipse, salvei o jrxml em src/main/resources/Relatorio/RelatorioVendas.jrxml. Agora quero pegar este arquivo jrxml e exporta-lo para PDF, não quero exibir ele em navegador, não quero fazer download dele…a unica coisa que quero é criar um pdf na mesma pasta onde está jrxml. Ja li inumeros sites com exemplos de códigos, mas tudo que tentei não deu certo, então preciso de uma orientação(passo a passo) para fazer as conversões necessarias para obter tal resultado.
staroski
Posta o código que você fez.
E não esqueça de formatar no fórum clicando no botão </>.