Eu estou tentando gerar um Relatorio no Jasper, porém nao to conseguindo.
Esta me dando o seguinte erro no stack trace
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.engine.xml.JRXmlDigesterFactory).
log4j:WARN Please initialize the log4j system properly.
net.sf.jasperreports.engine.JRException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:249)
at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:228)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:216)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:170)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:154)
at Relatorio.Relatorio.gerar(Relatorio.java:27)
at Relatorio.Relatorio.main(Relatorio.java:59)
Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.arrangeCapacity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipString(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1647)
at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:241)
... 6 more
Pra mim é problema de encoding. Provavelmente seu relatório tem acentos e não está em UTF-8.
juliocesarss
Provavelmente não… pois os acentos não causam erros.
Se não estiver em UTF-8 ele vai gerar porém as palavras com acentos irão aparecer diferentes.
Mas não acho que esse seja o erro ja que ele postou as bibliotecas que ele esta utilizando e esta faltando algumas.
evertonsilvagomesjav
E onde ficam esses jars?
juliocesarss
Não sei se a suas bibliotecas são iguais as minhas.
Eu baixei um zip, uma pasta jasperreports e dentro dela na pasta lib tem essas bibliotecas, e na pasta dist tem mais algumas.
Ataxexe
juliocesarss:
Provavelmente não… pois os acentos não causam erros.
Se não estiver em UTF-8 ele vai gerar porém as palavras com acentos irão aparecer diferentes.
Mas não acho que esse seja o erro ja que ele postou as bibliotecas que ele esta utilizando e esta faltando algumas.
Podem causar sim. Experimente fazer isso em um xhtml no facelets. Tive muitos problemas com isso já.
De qualquer forma não custa nada ele tentar retirá-los para isso. Não creio ser problema de biblioteca porque o erro acusa explicitamente que existem caracteres inválidos.
evertonsilvagomesjav
Cara, eu procurei na net, e achei falando pra criar esse arquivo aqui, e funcionou, agora sinceramente não sei porque kkk
#### Use two appenders, one to log to console, another to log to a file
log4j.rootCategory=info, stdout, R
#### First appender writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F%L) - %m%n
#### Second appender writes to a file
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:\Programas\import.log
# Control the maximum log file size
log4j.appender.R.MaxFileSize=10000KB
# Archive log files (one backup file here)
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
Se alguem souber pq criar esse arquivo pra funcionar, vou ficar muito grato.
mat_louis
Colega, quando você instala o jasperreport tem uma pasta “LIB” lá consta todas as libs necessárias para o seu relatorio funcionar.
Dica:
Adiciona todas as libs e faz o teste!!
Ataxexe
evertonsilvagomesjava:
Cara, eu procurei na net, e achei falando pra criar esse arquivo aqui, e funcionou, agora sinceramente não sei porque kkk
#### Use two appenders, one to log to console, another to log to a file
log4j.rootCategory=info, stdout, R
#### First appender writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F%L) - %m%n
#### Second appender writes to a file
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:\Programas\import.log
# Control the maximum log file size
log4j.appender.R.MaxFileSize=10000KB
# Archive log files (one backup file here)
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
Se alguem souber pq criar esse arquivo pra funcionar, vou ficar muito grato.
Isso é a configuração do Log4J. Crie um arquivo chamado log4j.properties com esse conteúdo na raíz do seu código-fonte.
Mas isso não tem nada a haver com seu problema, é somente a configuração do log. Eu continuo insistindo para que você avalie se o seu arquivo do relatório está de fato em UTF-8 sem nenhum caractere inválido.
evertonsilvagomesjav
Ataxexe:
evertonsilvagomesjava:
Cara, eu procurei na net, e achei falando pra criar esse arquivo aqui, e funcionou, agora sinceramente não sei porque kkk
#### Use two appenders, one to log to console, another to log to a file
log4j.rootCategory=info, stdout, R
#### First appender writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F%L) - %m%n
#### Second appender writes to a file
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:\Programas\import.log
# Control the maximum log file size
log4j.appender.R.MaxFileSize=10000KB
# Archive log files (one backup file here)
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
Se alguem souber pq criar esse arquivo pra funcionar, vou ficar muito grato.
Isso é a configuração do Log4J. Crie um arquivo chamado log4j.properties com esse conteúdo na raíz do seu código-fonte.
Mas isso não tem nada a haver com seu problema, é somente a configuração do log. Eu continuo insistindo para que você avalie se o seu arquivo do relatório está de fato em UTF-8 sem nenhum caractere inválido.
Mas pq entao que ao criar esse arquivo funcionou normal? E que configuraçao e essa do Log4J pode me explicar?
Ataxexe
evertonsilvagomesjava:
Ataxexe:
evertonsilvagomesjava:
Cara, eu procurei na net, e achei falando pra criar esse arquivo aqui, e funcionou, agora sinceramente não sei porque kkk
#### Use two appenders, one to log to console, another to log to a file
log4j.rootCategory=info, stdout, R
#### First appender writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F%L) - %m%n
#### Second appender writes to a file
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:\Programas\import.log
# Control the maximum log file size
log4j.appender.R.MaxFileSize=10000KB
# Archive log files (one backup file here)
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
Se alguem souber pq criar esse arquivo pra funcionar, vou ficar muito grato.
Isso é a configuração do Log4J. Crie um arquivo chamado log4j.properties com esse conteúdo na raíz do seu código-fonte.
Mas isso não tem nada a haver com seu problema, é somente a configuração do log. Eu continuo insistindo para que você avalie se o seu arquivo do relatório está de fato em UTF-8 sem nenhum caractere inválido.
Mas pq entao que ao criar esse arquivo funcionou normal? E que configuraçao e essa do Log4J pode me explicar?
1) Não faço ideia do porquê.
2) É a configuração do log. Faça uma busca no Google por log4j pelo menos.
N
nnettu
evertonsilvagomesjava:
Bom dia pessoal!
Eu estou tentando gerar um Relatorio no Jasper, porém nao to conseguindo.
Esta me dando o seguinte erro no stack trace
log4j:WARN No appenders could be found for logger (net.sf.jasperreports.engine.xml.JRXmlDigesterFactory).
log4j:WARN Please initialize the log4j system properly.
net.sf.jasperreports.engine.JRException: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:249)
at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:228)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:216)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:170)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:154)
at Relatorio.Relatorio.gerar(Relatorio.java:27)
at Relatorio.Relatorio.main(Relatorio.java:59)
Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.arrangeCapacity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipString(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1647)
at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:241)
... 6 more
Alguém ai sabe o que é, e pode me ajudar?
Valeu!!!
Eu ja tive este problema a solução foi gerar o relatorio atraves do JRXML e nao atraves do JASPER; abaixo meu codigo utilizado para gerar