e ai galera… nao to conseguindo gerar meu relatorio pois o caminho especificado na class é apontada para minha maquina local…
quero mudar esse caminho algo como “caminho relativo”? nao sei se é assim q se fala…
mas um caminho que aponte corretamente…
na minha maquina funciona 100% vou abaixo é o codigo onde na minha maquina local funciona…
[code]public class BeanRelatorio {
public BeanRelatorio() {
}
public void gerar(String dataIni, String dataFim, String qtdeMissoes) throws JRException , SQLException,
ClassNotFoundException, BaflException {
String relatorio = "relatorioSaida";
ConverteDataHora converte = new ConverteDataHora();
//dataIni=converte.parseDataIso(dataIni);
// dataFim=converte.parseDataIso(dataFim);
// Timestamp data = converte.stringToTimestampCompleto(new Date());
//String dataIni = convData.parseDataIso(Inicial) ;
// Pega a data final e soma um dia, para pegar que o pedriodo
// seja até o último minuto do dia.
//String dataFim = convData.somaDia(Final, 1);
//String dataFim = convData.parseDataIso(Final);
// Na variavel pathJasper ficara o caminho do diretório para
// os relatórios compilados (.jasper)
String pathJasper = "C:/Documents and Settings/coutinhorcs/Desktop/Viatura/Garagem/src/FonteRelatorio/";
// InputStream pathJasper = getClass().getResourceAsStream("FonteRelatorio");
// String pathJasper2 = pathJasper+"";
/*getServletContext().getRealPath(
"/WEB-INF/classes/br/mil/bafl/sic/relatorios/")
+ "/";
*/
// A variavel path armazena o caminho real para o contexto
// isso é util pois o seu web container pode estar instalado em lugares diferentes
String path = "C:/Documents and Settings/coutinhorcs/Desktop/Viatura/Garagem/src/FonteRelatorio/";
// InputStream path = getClass().getResourceAsStream("/relatorio");
//String path2 = path+"";
//getServletContext().getRealPath("/");
try {
JasperReport jr = (JasperReport) JRLoader.loadObject(pathJasper + relatorio + ".jasper");
HashMap parametros = new HashMap();
parametros.put("dataInicio",dataIni);
parametros.put("dataFinal", dataFim);
parametros.put("qtdeMissoes", qtdeMissoes);
//String contexto = getServletContext().getContextPath();
Connection con = SuperDAO.getConnection();
// InputStream is = getClass().getResourceAsStream("/FonteRelatio/relatorioSaida.jasper");
// Aqui ele cria o relatório
JasperPrint impressao = JasperFillManager.fillReport(pathJasper
+ relatorio + “.jasper”, parametros, con);
// JasperPrint impressao = JasperFillManager.fillReport(is, parametros, con);
// Grava o relatório em disco em pdf
JasperExportManager.exportReportToPdfFile(impressao, path + relatorio + “.pdf”);
//JasperExportManager.exportReportToHtmlFile(impressao, path + “relatorio/relatorio.html”);
// Redireciona para o pdf gerado
// response.sendRedirect(“relatorio/” + relatorio + “.pdf”);//(pathJasper+“relatorio.pdf”);
//response.sendRedirect(“relatorio/relatorio.html”);//(pathJasper+“relatorio.pdf”);
String pathRelatorio = path + relatorio + ".pdf";
JasperViewer.viewReport(impressao,false);
} catch (Exception e) {
e.printStackTrace();
}
}
/* public static void main(String[] args) {
String dtInicial = "22/01/2010";
String dtFinal = "26/01/2010";
try {
new BeanRelatorio().gerar(dtInicial, dtFinal);
} catch (Exception e) {
e.printStackTrace();
}
}
*/
}[/code]
vcs viram que o pathJasper e path apontam para o endereço onde esta o pacote do relatorio…onde cria o jasper tbm…
quero apontar esses dois para o caminho correto para que eu posso usar esse programa em outra maquina qlquer…
alguem pode me ajudar?