Jaspersoft - * .jrxml скомпилировать в Java 7 - PullRequest
0 голосов
/ 13 мая 2019

В TIBCO Jaspersoft® Studio 6.6.0 я скомпилировал Abc.jrxml файл как Abc.jasper. Я проверил, что это нормально в проекте Java 8.

Однако мы должны использовать Java 7 из-за устаревшего кода. И среда Java 7 выдает следующее исключение, если я использую Abc.jasper:

 java.lang.UnsupportedClassVersionError: Abc_1557727912510_682674 : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClass(JRClassLoader.java:337)
    at net.sf.jasperreports.engine.util.JRClassLoader.loadClassFromBytes(JRClassLoader.java:238)
    at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.loadEvaluator(JRAbstractJavaCompiler.java:104)
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.loadEvaluator(JRAbstractCompiler.java:358)
    at net.sf.jasperreports.engine.JasperCompileManager.getEvaluator(JasperCompileManager.java:381)
    at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:467)
    at net.sf.jasperreports.engine.fill.BaseReportFiller.<init>(BaseReportFiller.java:151)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:236)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:72)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:60)
    at net.sf.jasperreports.engine.fill.JRFiller.createBandReportFiller(JRFiller.java:201)
    at net.sf.jasperreports.engine.fill.JRFiller.createReportFiller(JRFiller.java:216)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:116)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:667)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:983)
    at uz.valijon.sbs_fault_reproducer.jasper.onemore.JasperTableExample.getJasperPrint(JasperTableExample.java:82)
    at uz.valijon.sbs_fault_reproducer.jasper.onemore.JasperTableExample.init(JasperTableExample.java:33)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:344)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:295)
    at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
    ... 38 more

Для решения этой проблемы я скомпилировал ее с Java 7 в TIBCO Jaspersoft® Studio 6.6.0. Однако проблема не исчезла.

Вот настройки проекта:

enter image description here enter image description here enter image description here

Я считаю, что Jaspersoft все еще использует Java 8 для компиляции * .jrxml файлов. (Если я создаю новый проект, Jaspersoft устанавливает Java 8 в качестве среды по умолчанию.)

В настоящее время я компилирую * .jrxml файл в примере проекта Java перед использованием.

 JasperCompileManager.compileReportToFile("path_to.jrxml"),
                "path_to.jasper");

Может кто-нибудь дать мне лучшее решение? Мне бы хотелось, чтобы я мог делать это в Jaspersoft, не сталкиваясь с проблемами.

...