Jasper X NetBeans (IReport)

11 respostas
rrmartins

Boa noite galera,

estou terminando uma aplicação, só que quando chamo o *.jasper esta dando erro.

Segue o codigo:

try {
            this.conexao = FabricaConexao.obterConexaoRelatorio();
            String url = System.getProperty("user.dir") + "/src/Relatorios/"+nomeRelatorio+".jasper";
            JasperPrint jp = JasperFillManager.fillReport(url, new HashMap(), this.conexao.getConnection());

            JasperViewer.viewReport(jp, false);
            this.conexao.close();
        } catch (Exception ex)
        {
            throw new MinhaException( "Não foi possivel gerar relatório.\nMSG:" + ex.getMessage());

        }

O erro esta no Linha:

JasperPrint jp = JasperFillManager.fillReport(url, new HashMap(), this.conexao.getConnection());

O erro que mostra é o : Unknown hyperlink target 0

Alguem ai já passou por isso…???

Detalhe que no IREPORT, ele funciona.

11 Respostas

tinorberto

isso é problema das bibliotecas… aqui tem explicando com resolve http://www.guj.com.br/posts/list/204415.java

flw

rrmartins

Cara, para não causar nenhuma duvida de qual era a certa. eu coloquei todos os *.jar no projeto.

O que acham?

tinorberto

deu certo? quais vc esta usando?

rrmartins

Entao como eu disse, estou usando todos os .jar do IReport.

Abaixo estao as lib:

ant-1.7.1.jar antlr-2.7.6.jar asm-attrs.jar asm.jar barbecue-1.5-beta1-LICENSE.txt barbecue-1.5-beta1.jar barcode4j-2.0-LICENSE.txt barcode4j-2.0-NOTICE.txt barcode4j-2.0.jar batik-anim.jar batik-awt-util.jar batik-bridge.jar batik-css.jar batik-dom.jar batik-ext.jar batik-gvt.jar batik-parser.jar batik-script.jar batik-svg-dom.jar batik-svggen.jar batik-util.jar batik-xml.jar bcel-5.2-LICENSE.txt bcel-5.2-NOTICE.txt bcel-5.2.jar bsh-2.0b4-LICENSE.txt bsh-2.0b4.jar castor-1.2.jar cglib-2.1.jar cincom-jr-xmla.jar commons-beanutils-1.7.jar commons-beanutils-1.8.2.jar commons-collections-2.1.jar commons-collections-3.2.1.jar commons-dbcp-1.2.2.jar commons-digester-1.7.jar commons-javaflow-20060411.jar commons-LICENSE.txt commons-logging-1.1.jar commons-math-1.0.jar commons-NOTICE.txt commons-pool-1.3.jar commons-vfs-1.0.jar dom4j-1.6.jar ehcache-1.1.jar eigenbase-properties-1.1.0.10924.jar eigenbase-resgen-1.3.0.11873.jar eigenbase-xom-1.3.0.11999.jar ejb3-persistence.jar groovy-all-1.5.5-LICENSE.txt groovy-all-1.5.5.jar hibernate-annotations.jar hibernate-commons-annotations.jar hibernate3-LICENSE.txt hibernate3.jar hsqldb-1.8.0-10-LICENSE.txt hsqldb-1.8.0-10.jar iText-2.1.0.jar iText-2.1.7-LICENSE.txt iText-2.1.7.jar iTextAsian.jar jakarta-bcel-20050813.jar jasperreports-3.1.4.jar jasperreports-3.7.4.jar jasperreports-chart-themes-3.1.5-SNAPSHOT.jar jasperreports-chart-themes-3.7.4.jar jasperreports-dejavu-fonts.jar jasperreports-extensions-3.5.3.jar jasperreports-fonts-3.7.4.jar jasperreports-LICENSE.txt javacup.jar javassist-3.4.GA.jar jaxen-1.1.1-LICENSE.txt jaxen-1.1.1.jar jcommon-1.0.15-LICENSE.txt jcommon-1.0.15.jar jdt-compiler-3.1.1-LICENSE.html jdt-compiler-3.1.1.jar jfreechart-1.0.12-LICENSE.txt jfreechart-1.0.12.jar jpa.jar js_activation-1.1.jar js_axis-1.4patched.jar js_commons-codec-1.3.jar js_commons-discovery-0.2.jar js_commons-httpclient-3.1.jar js_jasperserver-common-ws-3.5.0.jar js_jaxrpc.jar js_mail-1.4.jar js_saaj-api-1.3.jar js_wsdl4j-1.5.1.jar jta.jar jxl-2.6-LICENSE.txt jxl-2.6.jar log4j-1.2.15.jar mondrian-3.1.1.12687-Jaspersoft.jar mondrian-3.1.1.12687-LICENSE.html olap4j-0.9.7.145.jar png-encoder-1.5.jar poi-3.5-FINAL-20090928-LICENSE.txt poi-3.5-FINAL-20090928-NOTICE.txt poi-3.5-FINAL-20090928.jar rex-20080421.jar rhino-1.7R1-LICENSE.txt rhino-1.7R1.jar saaj-api-1.3.jar slf4j-api.jar slf4j-log4j12.jar spring.jar sqleonardo-2007.03.jar swingx-2007_10_07.jar xml-apis-ext

todas as lib’s que o o link> http://www.guj.com.br/posts/list/204415.java
menciona, estao ai…

o que acha???

tinorberto

viu isso lá

"Quando voce instala o iReport, adiciona algumas bibliotecas no seu projeto.
Se voce atualizar o iReport, va ate as bibliotecas do seu projeto
(botao direito no projeto -> Propriedades -> Bibliotecas [Netbeans])
e verifique quais as versoes que estao adicionadas e se existem mais
novas na pasta …/iReport/ireport/modules/ext/

Eu tive formatar o pc, baixei uma nova versao do iReport
e tive o problema. Depois que atualizei os jars iText-2.1.7, a jasperreports-3.7.2.jar
funcionou "

rrmartins

Bom dia Tino Berto,

Estou utilizando a versao iReport-3.7.4 do Ireport,

E as Libs mencionadas no post, tambem esta sendo usadas.

Se tiver algum projeto ai funcionando, me passe para eu comparar com o que esta dando erro.

J

Cria um pacote dentro do seu projeto só para armazenar os .jasper's. Aí vc lê dentro do seu .jar o relatório.

Ex:

public void relatorioX(String DATA_INICIO, String DATA_FIM, char TIPO_DIA){
        Session sessao = null;
        try{
            /*Lê o relatório dentro do .jar*/
            this.RELATORIO = getClass().getResourceAsStream("/br/com/sistemaX/relatorios/jaspers/RelatorioX.jasper");
            if (TIPO_DIA == 'A') this.RELATORIO = getClass().getResourceAsStream("/br/com/sistemaX/relatorios/jaspers/RelatorioX9.jasper");

            sessao = HibernateUtil.getSessionFactory().openSession();
            
            JasperPrint jPrint = JasperFillManager.fillReport(this.RELATORIO, parametros(), sessao.connection());
            JasperViewer jView = new JasperViewer(jPrint, false);
            jView.setSize(1024, 768);
            jView.setTitle("Relatório X");
            jView.setExtendedState(JFrame.MAXIMIZED_BOTH);
            jView.setVisible(true);     

        } catch (Exception e){
            JOptionPane.showMessageDialog(InicioView.getInicioView(), "Erro ao gerar relatório.\n\nErro:\n" + e + "\n\nContate o administrador do sistema.", "Erro de relatório", JOptionPane.ERROR_MESSAGE);
        } finally {
            try {
                sessao.close();
                this.RELATORIO.close();
                this.IMAGEM_INICIO.close();
            } catch (IOException e){/*descartar*/}
        }
    }
rrmartins

Boa tarde joyle ,

Estou colocando o seu codigo no meu projeto, mais modificando, pois pelo que vi, voce usou HIbernate, eu tive que trabalhar sem o hibernate, e com jdbc.

Assim que eu terminar postarei aqui o resultado.

J

Não esqueça de declarar a InputStream do relatório.

No meu caso a this.RELATORIO é uma InputStream.

InputStream RELATORIO = getClass().getResourceAsStream("/br/com/sistemaX/relatorios/jaspers/RelatorioX.jasper");

Ou vc pode declarar a InputStream como null e fazer como fiz anteriormente.

rrmartins

Boa tarde galera,

Descobri o erro.

esta faltando a lib: groovy-all-1.7.5.jar

valeu galera

tinorberto

coloque resolvido no assunto do forum. Flw

Criado 10 de novembro de 2010
Ultima resposta 14 de nov. de 2010
Respostas 11
Participantes 3