Caminho .jasper

15 respostas
C

pessoal,

eu queria passar o caminho do jasper, usando um arquivo de propriedades, fiz da seguinte maneira…

public void geraRelatorio( ) throws JRException, Exception{ String fileJasper = gp.retornaProperty(this); JRResultSetDataSource jrRS = new JRResultSetDataSource(rs); HashMap parameters = new HashMap(); System.out.println(fileJasper); //String fileJasper = "/Download/iReport-1.3.2/iReport-1.3.2/bin/relSubGrupoProduto.jasper"; JasperPrint impressao = JasperFillManager.fillReport(fileJasper, parameters, jrRS); JasperViewer.viewReport(impressao, false);

sei q o fileJasper está sendo instanciado certinho, mas dá este erro:
java.io.FileNotFoundException: “/Download/iReport-1.3.2/iReport-1.3.2/bin/relSubGrupoProduto.jasper”

não entendo pq não dá certo, afinal, é o mesmo caminho como se eu tivesse passado diretamente como fiz ao declarar o fileJasper (em comentario)…
alguém pode me ajudar???

15 Respostas

matheuscechito

se os caminhos são os mesmos, não sei pq ele não reconhece…
tente mudar seu arquivo de pasta, ou setar o caminho completo mesmo no seu properties…

furutani

Experimenta testar com um caminho mais curto.
Por exemplo: c:\relSubGrupoProduto.jasper

C

não deu… :cry:

M

Tente fazer assim:

  • copie o .jasper para dentro do seu projeto, crie uma package “relatorios”.

  • e chame ele, tipo:

String pathJasper = getServletContext().getRealPath("/WEB-INF/classes/biblioteca/relatorios/")+ "/";

O meu funcionou assim.

C

esqueci de te falar q não to usando servlet, mas essa de colocar dentro do pacote relatorio do meu projeto, jah tentei… e nada…
outra ideia?

valeu! :slight_smile:

M

claudete:
esqueci de te falar q não to usando servlet, mas essa de colocar dentro do pacote relatorio do meu projeto, jah tentei… e nada…
outra ideia?

valeu! :slight_smile:

Se vc não está usando servlet, como vc está fazendo ??

furutani

claudete:
não deu… :cry:


O nome do arquivo é relSubGrupoProduto.jasper mesmo?
Respeitando as letras maiusculas e minusculas.

C
criei um arquivo properties, q contem por enqto isso:
subGrupoJasper = "/root/Desktop/SisCpadi/SisCpadi/src/relatorios/relSubGrupoProduto.jasper"
assim, qdo tiver q alterar os caminhos, q vão ser vários, eu soh preciso modificar este arq... fiz uma classe pra pegar as propriedades deste arq, esse eh um dos metodos desta classe:
public String retornaProperty(Object obj){
       if (obj.getClass() == relSubGrupoProduto.class)   {
           return (props.getProperty("subGrupoJasper"));
       }
       else 
           return ("");
   }

e qdo gero o relatorio, consigo instanciar a variavel q contem o caminho, porem nao sei o q acontece q não dá certo...

public void geraRelatorio( ) throws JRException, Exception{
    JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
    HashMap parameters = new HashMap();
    
     //fileJasper contem caminho do arquivo .jasper
    String fileJasper = gp.retornaProperty(this);
    System.out.println(fileJasper);
   
    //String fileJasper = "/root/Desktop/SisCpadi/SisCpadi/src/relatorios/relSubGrupoProduto.jasper";
    JasperPrint impressao = JasperFillManager.fillReport(fileJasper, parameters, jrRS);
    JasperViewer.viewReport(impressao, false);

}
C

o pior q sim, Furutani…

usei o System.out… pra testar pra comparar… eu não tenho a menor ideia… tem outro jeito de implementar isso??

furutani

As aspas não devem existir

C

iiiiiihhhhhhhuuuuuuuuhhhhhhhh!!!

funcionou! q bobeira, neh???
:smiley:

valeu, cara!!!

furutani

claudete:
iiiiiihhhhhhhuuuuuuuuhhhhhhhh!!!

funcionou! q bobeira, neh???
:smiley:

valeu, cara!!!


di nada.
Vc usava esse arquivo properties desde de o começo?

C

como assim desde o começo?

desde o começo da aplicação?? eu comecei agora a mexer com o ireport, antes tava passsando o caminho na propria classe q gerava o relatorio…

furutani

Desde de quando vc abriu esse tópico.

C

sim… pq???
:?:

Criado 10 de abril de 2007
Ultima resposta 11 de abr. de 2007
Respostas 15
Participantes 4