privatefinalstaticLoggerlog=Logger.getLogger("comma");SimpleDateFormatformataData=newSimpleDateFormat("yyyyMMdd");publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){RelComissaoFormRCForm=(RelComissaoForm)form;// TODO Auto-generated method stubif(request.getParameter("gerarRelComisDiario")!=null){if(RCForm.getListrcmMot()!=null||RCForm.getListrcmAjud()!=null){RelComissaoNegociorcn=newRelComissaoNegocio();GregorianCalendarcal=newGregorianCalendar(Integer.parseInt(RCForm.getDtDia().substring(6,10)),//modifica a data da carga da jsp de dd/mm/yyyy para yyyymmddInteger.parseInt(RCForm.getDtDia().substring(3,5))-1,Integer.parseInt(RCForm.getDtDia().substring(0,2)));//fim da modificação das datasintdt=Integer.parseInt(formataData.format(cal.getTime()));try{inttipo=0;if(RCForm.getTipoColaborador().equals("Motorista"))tipo=1;elseif(RCForm.getTipoColaborador().equals("Ajudante"))tipo=2;LinkedList<HeadRelComissaoMotAjud>l=rcn.buscaDadosCabecalhoRelComissao(dt,tipo);Iteratorit=l.iterator();//buscando os dados do head(cabeçalho do relatório)StringvalorMercado="";StringvalorRota="";StringdtInicioPerido="";while(it.hasNext()){HeadRelComissaoMotAjudhrlc=(HeadRelComissaoMotAjud)it.next();if(hrlc.getValorMercado()!=0.0){valorMercado=String.valueOf(hrlc.getValorMercado());dtInicioPerido=String.valueOf(hrlc.getDtInicioPeriodo());}elseif(hrlc.getValorRota()!=0.0){valorRota=String.valueOf(hrlc.getValorRota());dtInicioPerido=String.valueOf(hrlc.getDtInicioPeriodo());}}rcn.deletarRelComissaoTemp();LinkedList<RelComissaoMotorista>list=null;if(tipo==1)list=RCForm.getListrcmMot();elseif(tipo==2)list=RCForm.getListrcmAjud();if(rcn.inserirRelComissaoTemp(list)){// true pq foi inserido na commav30temp os registros da linkedlist do select q busca as comissõesLinkedList<RelComissaoMotorista>listRcm=rcn.buscarRelDiarioOrder(RCForm.getTipoOrderBy(),RCForm.getFormaOrderBy());if(listRcm!=null){//true pq buscar os registros na commav30tmp ordernadobyte[]buffer=null;JREmptyDataSourceED=newJREmptyDataSource();JRBeanCollectionDataSourceBCD=newJRBeanCollectionDataSource(listRcm);Hashtableht=newHashtable();ht.put("comMot",BCD);ht.put("mercado",valorMercado.replace(".",","));ht.put("rota",valorRota.replace(".",","));ht.put("dtInicioPeriodo",dtInicioPerido.substring(6,8)+"/"+dtInicioPerido.substring(4,6)+"/"+dtInicioPerido.substring(0,4));ht.put("dtFinalRel",RCForm.getDtDia());ht.put("relMotAjud",RCForm.getTipoColaborador());Stringpath=request.getRealPath("");Stringarq="RelComissaoDiarioMotAjud.jasper";Stringendereco=path+"\\Relatorio\\"+arq;JasperReportrelatorio=(JasperReport)JRLoader.loadObject(endereco);JasperPrintimpressao=newJasperPrint();impressao=JasperFillManager.fillReport(relatorio,ht,ED);
a variável path é o caminho do seu projeto, no meu caso q uso o netbeans o path aponta para a pasta “build” e quando gero o jar e executo o programa o path aponta para a pasta onde o jar esta dentro.