Executar relatório na aplicação

3 respostas
M

Pessoal, desenvolvi um relatório mestre/detalhe que gera uma gráfico baseado nas notas dos alunos por bimestre, utilizando o ireport. Acontece que ao chamar o arquivo .jasper dentro do netbeans o relatório não é executado e aparece a seguinte mensagem

jan 21, 2017 10:23:12 AM net.sf.jasperreports.engine.fill.JRFillSubreport prepare
GRAVE: Fill 1: exception
java.lang.ClassCastException: org.jfree.chart.axis.NumberTickUnitSource cannot be cast to org.jfree.chart.axis.TickUnits
	at net.sf.jasperreports.charts.util.ChartUtil.createStandardTickUnits(ChartUtil.java:329)	at net.sf.jasperreports.charts.util.ChartUtil.createStandardTickUnits(ChartUtil.java:329)
	at net.sf.jasperreports.engine.fill.DefaultChartTheme.calculateTickUnits(DefaultChartTheme.java:2200)
	at net.sf.jasperreports.engine.fill.DefaultChartTheme.setAxisBounds(DefaultChartTheme.java:2116)
	at net.sf.jasperreports.engine.fill.DefaultChartTheme.configureAxis(DefaultChartTheme.java:599)
	at net.sf.jasperreports.engine.fill.DefaultChartTheme.createLineChart(DefaultChartTheme.java:1022)
	at net.sf.jasperreports.engine.fill.DefaultChartTheme.createChart(DefaultChartTheme.java:289)
	at net.sf.jasperreports.engine.fill.JRFillChart.evaluateChart(JRFillChart.java:843)
	at net.sf.jasperreports.engine.fill.JRFillChart.evaluateRenderer(JRFillChart.java:808)
	at net.sf.jasperreports.engine.fill.JRFillChart.evaluate(JRFillChart.java:797)
	at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259)
	at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:455)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillFixedBand(JRHorizontalFiller.java:2174)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillFixedBand(JRHorizontalFiller.java:2168)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillPageFooter(JRHorizontalFiller.java:1098)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillSummaryNoLastFooterSamePage(JRHorizontalFiller.java:1228)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillSummary(JRHorizontalFiller.java:1123)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillReportEnd(JRHorizontalFiller.java:332)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillReport(JRHorizontalFiller.java:164)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:909)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:822)
	at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:651)
	at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59)
	at net.sf.jasperreports.engine.fill.AbstractThreadSubreportRunner.run(AbstractThreadSubreportRunner.java:203)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: org.jfree.chart.axis.NumberTickUnitSource cannot be cast to org.jfree.chart.axis.TickUnits
	at net.sf.jasperreports.charts.util.ChartUtil.createStandardTickUnits(ChartUtil.java:329)
	at net.sf.jasperreports.engine.fill.DefaultChartTheme.calculateTickUnits(DefaultChartTheme.java:2200)
	at net.sf.jasperreports.engine.fill.DefaultChartTheme.setAxisBounds(DefaultChartTheme.java:2116)
	at net.sf.jasperreports.engine.fill.DefaultChartTheme.configureAxis(DefaultChartTheme.java:599)
	at net.sf.jasperreports.engine.fill.DefaultChartTheme.createLineChart(DefaultChartTheme.java:1022)
	at net.sf.jasperreports.engine.fill.DefaultChartTheme.createChart(DefaultChartTheme.java:289)
	at net.sf.jasperreports.engine.fill.JRFillChart.evaluateChart(JRFillChart.java:843)
	at net.sf.jasperreports.engine.fill.JRFillChart.evaluateRenderer(JRFillChart.java:808)
	at net.sf.jasperreports.engine.fill.JRFillChart.evaluate(JRFillChart.java:797)
	at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259)
	at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:455)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillFixedBand(JRHorizontalFiller.java:2174)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillFixedBand(JRHorizontalFiller.java:2168)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillPageFooter(JRHorizontalFiller.java:1098)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillSummaryNoLastFooterSamePage(JRHorizontalFiller.java:1228)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillSummary(JRHorizontalFiller.java:1123)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillReportEnd(JRHorizontalFiller.java:332)
	at net.sf.jasperreports.engine.fill.JRHorizontalFiller.fillReport(JRHorizontalFiller.java:164)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:909)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:822)
	at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:651)
	at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59)
	at net.sf.jasperreports.engine.fill.AbstractThreadSubreportRunner.run(AbstractThreadSubreportRunner.java:203)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

Detalhe: quando executo o relatório diretamente no ireport ele está funcionando perfeitamente, o problema aparece apenas quando faço a chamada dentro do netbeans.

Alguém já viu erro semelhante e pode me ajudar ou indicar algum link?

Desde já agradeço pela atenção.

3 Respostas

M

Pessoal, ninguém nunca viu esse erro?

Já pesquisei por várias horas (e com os parâmetros de pesquisa que utilizei) e não consegui encontrar a solução… só então decidi criar este tópico.

D

Primeiro, uma correção: o netbeans não é a linguagem de programação, nem a plataforma, ele é apenas uma ferramenta para desenvolvimento, a famosa IDE, então você não programa para ele e nem executa nada nele. Apenas invoca um comando que ele passa ao ambiente java para executar a aplicação desenvolvida.
Sugestão: use eclipse e se torne um homem de verdade. (brincadeira, ok?).
Duas possibilidades: versões diferentes dos jars do iReport para o ambiente ou falta algum jar no projeto.

M

Obrigado pela dica, após pegar os jar da pasta onde o iReport foi instalado o problema foi revolvido.

Com relação a usar o Eclipse, ele não é uma IDE assim como o Netbeans?

Gostaria que citasse, na sua opinião, quais as vantagens entre um e outro, pois assim poderá ajudar, também, outras pessoas a definirem qual IDE vão utilizar em seus projetos.

Criado 21 de janeiro de 2017
Ultima resposta 12 de fev. de 2017
Respostas 3
Participantes 2