Estou eu de volta escrevendo um post, pois bem hoje eu vou falar de um erro que eu estava que toda vez que ia gerar um relatório o erro apresentava, tinha feito tudo mais sem sucesso. O erro é esse abaixo:
Caused by: java.lang.NoSuchMethodException: Unknown property '' on class
Como vocês podem ver a rotina estava procurando a propriedade vazio, só que não existia essa propriedade de fato, porém como corrigir este caso?
Nada como velho e bom google, mas não encontrei nada em português que pudesse me ajudar então encontrei em um site chamado zkoss.org e vou mostrar como corrige isto.
O erro no log pode ser encotnrado desta maneira:
net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
Com isso há uma propriedade em JRBeanCollectionDataSource que mostra a opção booleana para que espaços vazios nos JRXML sejam lidos, e é ai o segredo basta colocar um false para que não leia os espaços em branco então ficaria deste jeito:
JRBeanCollectionDataSource jrbcds = new JRBeanCollectionDataSource(data, false);
E assim corrige e não aparece mais o erro.
Espero ter ajudado.
Até a próxima.
19 comentários:
Excelente post Miguel, estava há um mês quebrando a cabeça com esse problema.
Excelente post Miguel, estava há um mês quebrando a cabeça com esse problema.
Ajudou muito. Tks.
Valeu galera! Pelo feedBack.
Fiquei uma manhã achando que era erro no meu Bean, já que estava usando o padrão do JAVAFX com Propertys. Porém tinha quase certeza que o Jasper buscava pelos getters e setters, com a dica resolvi o problema.
Valeu a dica.
Eu também cara, fiquei dias achando quer era problema de conexão e outras coisas, mas era bem mais simples do que eu achava, por isso postei para ajudar a todos.
Merci beaucoup , ça marche parfaitement
@HAMZA BENNANI Je suis content que ça vous plaise
Muito obrigada, ajudou bastante! Pra mim funcionou!
@Alana Que bom! O intuito do post foi esse, ajudar! Valeu pelo feedback.
Parabéns pelo postagem Miguel!
Estava tentando corrigir este problema há pelo umas 48 horas, até que encontrei sua dica.
@Marcos valeu! É bom ajudar! Valeu pelo feedback.
Cara, Muito bom o post! Parabéns
Valeu @Google Cloud Computing que bom que ajudou!
bom so aconteceu esse erro tive que montar sub relatorios no jasperStudio vlw
Olá,
Estou obtendo o seguinte erro ao tentar gerar o PDF:
"Unpatched iText found, cannot use glyph rendering"
@Ilton Barbosa, cara você deve está usando algo no seu relatório que é incomplativel, na versão que você usa. Veja que no código do jasper tem isso: private static boolean determinePatchedItext()
{
try
{
PdfContentByte.class.getMethod("showText", GlyphVector.class);
return true;
}
catch (NoSuchMethodException e)
{
log.warn("Unpatched iText found, cannot use glyph rendering");
return false;
}
catch (SecurityException e)
{
throw new JRRuntimeException(e);
}
}
A classe é a PdfGlyphRenderer.
Espero te ajudado.
@Guilherme oliveira valeu pelo feedback
Maravilha.. ajudou muito..
Postar um comentário