1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro de incompatibilidade de valores no jasperreports

Olá,

Tenho um projeto java comum onde adicionei uma biblioteca do jasperreports(5.2.0) e todos os outros que ele é dependente (os que vem na pasta que é disponibilizado para download) e gerou o meu relatório normalmente.

Então eu quis aplicar esta solução a um projeto Maven, adicionando todas as dependências de acordo com as bibliotecas que estava usando no outro projeto, verificando inclusive as versões, mas quando rodei este projeto, ao compilar estas linhas:

JasperDesign jasperDesign = JRXmlLoader.load("Diretório do arquivo .jrxml");
JasperReport jasper = JasperCompileManager.compileReport(jasperDesign);

apresentou 30 erros como estes:

net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file:

1. Incompatible conditional operand types double and null
                value = ((java.lang.String)field_Trans_PesoB.getValue()) != null ? Double.parseDouble(((java.lang.String)field_Trans_PesoB.getValue())) : null; //$JR_EXPR_ID=61$
                        <------------------------------------------------------------------------------------------------------------------------------------>
2. Incompatible conditional operand types double and null
                value = ((java.lang.String)field_Trans_PesoL.getValue()) != null ? Double.parseDouble(((java.lang.String)field_Trans_PesoL.getValue())) : null; //$JR_EXPR_ID=62$
                        <------------------------------------------------------------------------------------------------------------------------------------>
3. Incompatible conditional operand types String and double
                value = ((java.lang.String)field_Prod_AliqIPI.getValue()) == null ? "" : Double.parseDouble(((java.lang.String)field_Prod_AliqIPI.getValue())); //$JR_EXPR_ID=108$

Ao que tudo diz, seria problemas referentes a versões de bibliotecas ou do compilador do java divergentes entre projetos, mas no maven adicionei todas elas espelhando no outro projeto, procurando as versões corretas..

Abaixo o jrxml que estou tentando gerar o relatório e o pom com as dependências. arquivo .jrxml pom.xml

  • por que vc faz cast (java.lang.String) ao inves de apenas .toString()?

    Diogo   02 de ago de 2013
  • eu não cast, a minha linha de código, por exemplo, que gera esta primeira linha é: <textFieldExpression><![CDATA[$F{Trans_PesoB} != null ? Double.parseDouble($F{Trans_PesoB}) : null]]></textFieldExpression>

    Chico Luiz   02 de ago de 2013
  • o que retorna field_Prod_AliqIPI.getValue() e field_Trans_PesoL.getValue() e field_Trans_PesoB.getValue()? lembre-se que, tipo primitivo não é possivel fazer cast para string e nem fazer comparacao com null!

    Diogo   02 de ago de 2013
  • sim mas só lembrando que este layout funciona perfeitamente no meu projeto java normal, e que esta a dar erro quando estou tentando passa-lo para o maven.. simplemeste copei e colei meu código e adicionei as dependencias como as bibliotecas que tem no outro projeto..

    Chico Luiz   02 de ago de 2013
  • Oo estranho iaushiaus, vc está usando a mesma versão? tudo igual?

    Diogo   02 de ago de 2013
Mostrar todos os 15 comentários>
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java relatórios ou faça a sua própria pergunta.