bom dia amigo, abaixo tem um exemplo do código que eu uso, veja se pode ajuda-lo
eu criei uma pasta na raiz do projeto com o nome Relatorios e estou salvando eles lá
publicstaticvoidimprimirOrdemServidoPdf(longidOrdemServicoCapa)throwsException{try{Conexaoconectar=newConexao();longparametro=idOrdemServicoCapa;HashMapparam=newHashMap();param.put("p_ordem_servico",parametro);// o que esta entre "" é o nome do parametro do jasperreportJasperPrintrelatorio=null;System.out.println("Entra para gerar os relatorios");Stringdir=System.getProperty("user.dir");relatorio=JasperFillManager.fillReport(dir+"/Relatorios/relatorios/OrdemServicoNew.jasper",param,conectar.con);JasperViewer.viewReport(relatorio,false);}catch(Exceptionex){thrownewException(ex.getMessage());}}