daust / JasperReportsIntegration

JasperReportsIntegration provides an interface to use the JasperReports reporting engine in an Oracle database application, specifically with Oracle Application Express (Oracle APEX).
BSD 3-Clause "New" or "Revised" License
55 stars 23 forks source link

JDK 17 LTS Support #116

Closed daust closed 2 years ago

daust commented 2 years ago

Currently, there are issues running the integration with Java 17. There are so many different versions and environments. So we have to choose.

In the past, I have tried to keep the update requirements of the environment to a minimum. But since Java compatibility issues were increasing in recent months, I believe, going forward a different approach will be better.

In the future, I will focus on supporting the official LTS releases: https://www.oracle.com/java/technologies/java-se-support-roadmap.html

Currently, this is Java17. This is even more important, since Oracle changed the licensing strategy and it can be used for free again (please check the details for yourself).

daust commented 2 years ago

When compiling a .jrxml file to a .jasper file on-the-fly, a compile error occurs:

Root Cause

BUG! exception in phase 'semantic analysis' in source unit 'calculator_test_1661423957027_186305' Unsupported class file major version 61
    org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:905)
    org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:627)
    net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:112)

When I replace the groovy library 3.0.7 with 3.0.12, then it seems to work with JDK17.

daust commented 2 years ago

https://groovy.apache.org/download.html