e aii…
to com uma dificuldade de achar um caminho para q dpois de copilar esse caminho ache a pasta dentro do jar copilado…
por exemplo…
fiz uma aplicaçao que tem a opçao de imprir to usando o Ireport p montar o relatorio…e para isso tenho q dizer o caminho onde estar o JASPER e onde o pdf sera gerado… fiz o caminho pela minha maquina local por ex. C:/Documents and Settings/coutinhorcs/Desktop/Viatura/Garagem/src/FonteRelatorio/ mais oou menos esse caminho…ele vai la dentro do meu projeto…vai na pasta das classes e entra no pacote onde ira criar o jasper e o pdf…mas eu queria dpois de copilado nao usar esse caminho para poder usar em qlquer outra maquina…sem que eu tenha q levar todo o meu projeto para a outra maquina… queria levar apenas a Lib com as bibliotecas né e o JAR…
alguem pode me ajudar cara??
to um tempao nisso e nao consigo achar um caminho que o jar dpois de copilado reconheca e crie dentro dele mesmo o pdf e abra…
abaixo segue o codigo onde gera o relatorio e esta com o caminho da minha maquina local…
abraço
A DUVIDA É…QUAL CAMINHO EU DEVO USAR NO LUGAR DO “C:/Documents and Settings/coutinhorcs/Desktop/Viatura/Garagem/src/FonteRelatorio/” PARA QUE DENTRO DO PROPRIO JASPER ELE ENCONTRAR O CAMINHO E ABRIR O PDF,pois em outra maquina…ela nao vai achar esse caminho pois é de outra maquina…
[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();
}
}
*/
}
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]