Olá amigos do GUJ!
Estou brincando com iReport e Hibernate e estou com um probleminha: não consigo abrir um relatório, EXCETO se eu coloco o caminho inteiro do mesmo. Entretanto, como meu projeto será rodado em outras máquinas, eu não posso saber o caminho inteiro do relatório!
O código atual está assim:
Session s = NewHibernateUtil.getSessionFactory().getCurrentSession();
s.beginTransaction();
Criteria cri = s.createCriteria(Estado.class);
cri.add(Restrictions.or(
Restrictions.eq("idEstado", 1),
Restrictions.eq("idEstado", 2)
));
System.out.println();
List<Estado> xy = s.createQuery("from Estado").list();
JasperReport jasperReport = JasperCompileManager.compileReport("report2.jrxml");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,null,new JRBeanCollectionDataSource( cri.list() ) );
JasperViewer viewer = new JasperViewer(jasperPrint,false);
viewer.show();
Entretanto, EU NÃO SEI ONDE COLOCAR O report2.jrxml!!
Já coloquei na pasta src, na pasta acima da src, na pasta build/classes, e ele NÃO ACHA! Só acha se eu der o caminho completo!
Então, minha pergunta é: onde eu coloco este arquivo, para que ele possa abrir automaticamente?
OBSERVAÇÃO: Em minhas pesquisas no GUJ e na internet, encontrei algo como isto, que resolveria o problema:
getClass().getResource("report2.jrxml");
Entretanto, ele diz que não posso rodar isso a partir de um método estático, que é o meu caso. E no meu caso, eu vou rodar isso em um método estático. Então, essa solução não funciona pra mim. Alguém tem alguma outra?
Abraços!!!