Erro: java.lang.ArrayIndexOutOfBoundsException - Como resolver?

Problema

Erro: java.lang.ArrayIndexOutOfBoundsException

 

Na Aplicação Oobj DFe, o erro está associado a uma versão do Java superior a compatível com o Serviço Oobj. Esse erro não é comum, pois as versões mais recentes da Aplicação Oobj é compatível com o Java da versão 7 e 8.

Nos logs da aplicação, o erro é apresentado como no exemplo abaixo:

2105 17:55:44,210 [Thread-2] INFO  FilaIdleManager - Voltando para modo ATIVO
2105 17:55:44,210 [Thread-2] INFO  onsumidorNotificante - Consumidor da fila 'oobj_nfe_impressao' entrando em modo IDLE
2105 17:55:44,282 [Thread-2] DEBUG ServicoImpressao - Gerando DAME da ME: 26150503551937000143550030017586951727699378 - inicio
2105 17:55:44,794 [Thread-2] DEBUG RGerarDanfeV3_10 - Preenchendo bean do DANFE
2105 17:55:48,099 [Thread-2] DEBUG ServicoImpressao - Gerando DAME da ME: 26150503551937000143550030017586951727699378 - fim
2105 17:55:48,099 [Thread-2] DEBUG ServicoImpressao - Gerando documentos adicionais - inicio
2105 17:55:48,191 [Thread-2] DEBUG GeradorBoleto - Quantidades de boletos identificados: 1
2105 17:55:48,519 [Thread-2] DEBUG RRelatorioJasper - Criando relatorio
2105 17:55:49,183 [Thread-2] FATAL onsumidorNotificante - Erro inesperado
java.lang.ArrayIndexOutOfBoundsException: 0
    at sun.font.ExtendedTextSourceLabel.createCharinfo(Unknown Source)
    at sun.font.ExtendedTextSourceLabel.getCharinfo(Unknown Source)
    at sun.font.ExtendedTextSourceLabel.getLineBreakIndex(Unknown Source)
    at java.awt.font.TextMeasurer.calcLineBreak(Unknown Source)
    at java.awt.font.TextMeasurer.getLineBreakIndex(Unknown Source)
    at java.awt.font.LineBreakMeasurer.nextOffset(Unknown Source)
    at net.sf.jasperreports.engine.fill.SimpleTextLineWrapper.measureExactLineBreakIndex(SimpleTextLineWrapper.java:563)
    at net.sf.jasperreports.engine.fill.SimpleTextLineWrapper.measureExactLine(SimpleTextLineWrapper.java:537)
    at net.sf.jasperreports.engine.fill.SimpleTextLineWrapper.nextLine(SimpleTextLineWrapper.java:519)
    at net.sf.jasperreports.engine.fill.TextMeasurer.renderNextLine(TextMeasurer.java:829)
    at net.sf.jasperreports.engine.fill.TextMeasurer.renderParagraph(TextMeasurer.java:632)
    at net.sf.jasperreports.engine.fill.TextMeasurer.measure(TextMeasurer.java:573)
    at net.sf.jasperreports.engine.fill.JRFillTextElement.chopTextElement(JRFillTextElement.java:670)
    at net.sf.jasperreports.engine.fill.JRFillTextField.prepare(JRFillTextField.java:767)
    at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:330)
    at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:382)
    at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:357)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2025)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:753)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:263)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:123)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:539)
    at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:411)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:115)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:667)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:648)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:970)
    at br.com.oobj.relatorio.RRelatorioJasper.gerarJasperPrint(RRelatorioJasper.java:211)
    at br.com.oobj.me.impressao.GeradorBoleto.gerarBoleto(GeradorBoleto.java:253)
    at br.com.oobj.me.impressao.GeradorBoleto.gerarDocumentos(GeradorBoleto.java:156)
    at br.com.oobj.me.impressao.GeradorBoleto.gerarDocumentos(GeradorBoleto.java:105)
    at br.com.oobj.me.impressao.GeradorBoleto.gerarDocumentos(GeradorBoleto.java:397)
    at br.com.oobj.me.impressao.GeradorCustomizadoDelegator.gerarDocumentos(GeradorCustomizadoDelegator.java:29)
    at br.com.oobj.me.impressao.ServicoImpressao.gerarJasperPrintsDocumentosAdicionais(ServicoImpressao.java:269)
    at br.com.oobj.me.impressao.ServicoImpressao.processar(ServicoImpressao.java:190)
    at br.com.oobj.me.impressao.ConsumidorImpressao.novaMensagem(ConsumidorImpressao.java:102)
    at br.com.oobj.util.fila.ConsumidorNotificante.processarComCommitSincrono(ConsumidorNotificante.java:332)
    at br.com.oobj.util.fila.ConsumidorNotificante.execute(ConsumidorNotificante.java:177)
    at br.com.oobj.util.fila.ConsumidorNotificante.run(ConsumidorNotificante.java:134)
    at br.com.oobj.me.impressao.ConsumidorImpressao.run(ConsumidorImpressao.java:75)

  

Solução/Procedimento

Como já dito, o erro não é comum, pois as versões mais recentes do Serviço Oobj DFe é compatível com a versões 7 e 8 do Java, porém caso observe o problema será necessário realizar um downgrade da versão do Java, ou seja instalar uma versão anterior do Java.

A partir dessa nova instalação você tem duas opções:

1 - Alterar o Java usado pela aplicação e para isso, preparamos um artigo ensinando a como definir um Java específico para o Serviço Oobj. Acesse:

 

2 - Remover a Instalação mais recente do Java, deixando apenas a versão anterior, compatível com a Aplicação. Se optar por essa opção, será necessário reiniciar todos os Serviços Oobj instalados em sua máquina. Veja como reiniciar um Serviço Oobj no artigo: Como reiniciar um Serviço Oobj no Windows? 

 

Referência

Sem referência.

0 (0)
Avaliação do Artigo (Nenhum voto)
Avaliar esse artigo
Anexos
Não há anexos para este artigo.
Artigos Relacionados RSS Feed
Comentários
Nome
Email
Código de Segurança Security Code
Não há comentários para este artigo. Seja o primeiro a postar um comentário.