Criei um relatório no IReport sem usar uma conexão com Banco de Dados, passo tudo via parâmetro pelo Java, o relatório é esse:
Acontece que pela minha aplicação Java, eu compilo o .jrxml em tempo de execução e gero o .jasper. Funciona certinho.
Mas queria gerar o .jasper pelo IReport para não precisar compilar o .jrxml em tempo de execução.
Mas pelo IReport não compila o relatório, mas também não dá erro, simplesmente não gera o .jasper
O que pode ser?
Olá, já tentou dar uma olhada no report output? Os erros aparecem lá e é lá que se mostra a mensagem de compilação finalizada.
Vá em: Janelas>Report Output e depois compile e veja o que sai.
O erro foi este:
Compiling to file...
C:\Users\Rodrigo\Documents\NetBeansProjects\SacCliente\Relatorios\ReportClienteData.jasper
Error compiling the report
java source!
java.lang.UnsupportedClassVersionError: modelos/ClienteMOD : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
at com.jaspersoft.ireport.designer.ReportClassLoader.loadClassData(ReportClassLoader.java:301)
at com.jaspersoft.ireport.designer.ReportClassLoader.findClass(ReportClassLoader.java:266)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
at java.lang.ClassLoader.loadClass(ClassLoader.java:412)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:278)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:115)
at net.sf.jasperreports.engine.base.JRBaseField.getValueClass(JRBaseField.java:128)
at net.sf.jasperreports.engine.design.JRVerifier.verifyFields(JRVerifier.java:981)
at net.sf.jasperreports.engine.design.JRVerifier.verifyDataset(JRVerifier.java:2210)
at net.sf.jasperreports.engine.design.JRVerifier.verifyDesign(JRVerifier.java:386)
at net.sf.jasperreports.engine.design.JRVerifier.verifyDesign(JRVerifier.java:357)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.verifyDesign(JRAbstractCompiler.java:268)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:153)
at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:512)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
A versão o IReport é 5.6.0
Acontece que adicionei o .jar da minha aplicação no classpath do IReport. Minha aplicação foi compilada em Java 8(não posso compilar em Java 7). E o IReport não aceita Java 8, como posso compilar o relatório nesta situação?
Aí complicou viu, no seu caso só se seu app fosse em Java 7. Já tentou com o Jasper Studio?
Ainda não, é igual ao IReport?
Sim, o ireport foi substituído por ele, procura no google por JasperSoft Studio.