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

Not working on TOMCAT 10.0.14 #105

Closed daxlai closed 2 years ago

daxlai commented 2 years ago

After configuration of JasperReportsIntegration i replace jri.war with jri-2.8.1-jasper-6.18.1-tomcat10.war (with rename of jri281.war) and deployed on tomcat10 but i am getting error

Type Exception Report

Message Servlet execution threw an exception

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

jakarta.servlet.ServletException: Servlet execution threw an exception org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Root Cause

BUG! exception in phase 'semantic analysis' in source unit 'calculator_test_1649303741777_535422' 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:116) net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:226) net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:358) net.sf.jasperreports.engine.JasperCompileManager.compileToFile(JasperCompileManager.java:274) net.sf.jasperreports.engine.JasperCompileManager.compileToFile(JasperCompileManager.java:256) net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:555) de.oc.jasper.ReportUtilities.compileJRXMLIfNecessary(ReportUtilities.java:134) de.oc.integration.jasper.webapp.ReportWrapper.service(ReportWrapper.java:182) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:777) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Root Cause

java.lang.IllegalArgumentException: Unsupported class file major version 61 groovyjarjarasm.asm.ClassReader.(ClassReader.java:189) groovyjarjarasm.asm.ClassReader.(ClassReader.java:170) groovyjarjarasm.asm.ClassReader.(ClassReader.java:156) groovyjarjarasm.asm.ClassReader.(ClassReader.java:277) org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81) org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:251) org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:189) org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:169) org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:125) org.codehaus.groovy.control.ResolveVisitor.resolveToOuter(ResolveVisitor.java:871) org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:506) org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:468) org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:338) org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:330) org.codehaus.groovy.control.ResolveVisitor.resolveOrFail(ResolveVisitor.java:326) org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:906) org.codehaus.groovy.control.ResolveVisitor.transformBinaryExpression(ResolveVisitor.java:1207) org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:896) org.codehaus.groovy.control.ResolveVisitor.transformBinaryExpression(ResolveVisitor.java:1207) org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:896) org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:108) org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:40) org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86) org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:164) org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1564) org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69) org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitIfElse(ClassCodeExpressionTransformer.java:120) org.codehaus.groovy.ast.stmt.IfStatement.visit(IfStatement.java:41) org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitIfElse(ClassCodeExpressionTransformer.java:121) org.codehaus.groovy.ast.stmt.IfStatement.visit(IfStatement.java:41) org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitIfElse(ClassCodeExpressionTransformer.java:121) org.codehaus.groovy.ast.stmt.IfStatement.visit(IfStatement.java:41) org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitIfElse(ClassCodeExpressionTransformer.java:121) org.codehaus.groovy.ast.stmt.IfStatement.visit(IfStatement.java:41) org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86) org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:164) org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1564) org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:69) org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:138) org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:111) org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:66) org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:294) org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:106) org.codehaus.groovy.ast.ClassNode.visitMethods(ClassNode.java:1099) org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1092) org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:52) org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1473) org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:262) org.codehaus.groovy.control.CompilationUnit.lambda$new$16(CompilationUnit.java:738) org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:901) org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:627) net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:116) net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:226) net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:358) net.sf.jasperreports.engine.JasperCompileManager.compileToFile(JasperCompileManager.java:274) net.sf.jasperreports.engine.JasperCompileManager.compileToFile(JasperCompileManager.java:256) net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:555) de.oc.jasper.ReportUtilities.compileJRXMLIfNecessary(ReportUtilities.java:134) de.oc.integration.jasper.webapp.ReportWrapper.service(ReportWrapper.java:182) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:777) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Note The full stack trace of the root cause is available in the server logs.

daust commented 2 years ago

When I look at the logs, I see the following:

BUG! exception in phase 'semantic analysis' in source unit 'calculator_test_1649303741777_535422' Unsupported class file major version 61
net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:116)
net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:555)
de.oc.jasper.ReportUtilities.compileJRXMLIfNecessary(ReportUtilities.java:134)

So, it seems like you have deployed only the .jrxml file of the report and JRI tries to recompile it on-the-fly to a .jasper file.

This compilation process fails.

  1. Are you using custom Java or Groovy code in your report?
  2. Which Java version are you running on your server and/or within Tomcat if that is different?
  3. Do the test reports work?

You could try to compile it to a .jasper file on your machine where Jaspersoft Studio runs and deploy that file.

Best ~Dietmar.

daxlai commented 2 years ago

Dear sir,

Dear sir,

i just installed and configured jasper Report Integration test connection and sample report. when running of sample report it is giving me an error message.

my java version is java version "17.0.1" 2021-10-19 LTS Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39) Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)

and a test report after opening the page. please watch this video. https://drive.google.com/file/d/1BS5JuoFDykT0BtzJ1-QUspcklFrNatHo/view?usp=sharing

please guide me

On Thu, Apr 7, 2022 at 11:01 AM Dietmar Aust @.***> wrote:

When I look at the logs, I see the following:

BUG! exception in phase 'semantic analysis' in source unit 'calculator_test_1649303741777_535422' Unsupported class file major version 61 net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:116) net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:555) de.oc.jasper.ReportUtilities.compileJRXMLIfNecessary(ReportUtilities.java:134)

So, it seems like you have deployed only the .jrxml file of the report and JRI tries to recompile it on-the-fly to a .jasper file.

This compilation process fails.

  1. Are you using custom Java or Groovy code in your report?
  2. Which Java version are you running on your server and/or within Tomcat if that is different?
  3. Do the test reports work?

You could try to compile it to a .jasper file on your machine where Jaspersoft Studio runs and deploy that file.

Best ~Dietmar.

— Reply to this email directly, view it on GitHub https://github.com/daust/JasperReportsIntegration/issues/105#issuecomment-1091097270, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALROURLUZROO5LSGKSFQEATVDZXJ3ANCNFSM5SYAPHSA . You are receiving this because you authored the thread.Message ID: @.***>

-- Daxesh Laiwala

daust commented 2 years ago

Hi @daxlai ,

I have tested it on:

It works without issues here.

Suggestion:

I believe, Java 11 might also work. Not sure. Don't have time to upgrade to Java 17 and test. But the Java version is the culprit.

Best ~Dietmar.

daxlai commented 2 years ago

dear sir,

solution done with some strange out come. 1) i installed jre1.8 and give in class path of tomcat java class path for newly added jre 1.8 java.dll 2) download and copy the .war file you sent by link 3) run command setConfigDir deployed .war file on tomcat 4) run from tomcat working fine and my developed reports also working fine

THE STRANGE IS HERE. now i copy same folder from laptop to desktop run setConfigDir and deployed .war file on tomcat it's working fine. HERE I AM NOT INSTALL JAVA 1.8. ITS VERY STRANGE.

DAXESH

On Thu, Apr 7, 2022 at 8:39 PM Dietmar Aust @.***> wrote:

Hi @daxlai https://github.com/daxlai ,

I have tested it on:

It works without issues here.

Suggestion:

  • Install Java 1.8 in addition to Java 17 on this machine
  • Use Java 1.8 for Tomcat (only)

I believe, Java 11 might also work. Not sure. Don't have time to upgrade to Java 17 and test. But the Java version is the culprit.

Best ~Dietmar.

— Reply to this email directly, view it on GitHub https://github.com/daust/JasperReportsIntegration/issues/105#issuecomment-1091858223, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALROURKD5PURPSFE43GNPADVD33CFANCNFSM5SYAPHSA . You are receiving this because you were mentioned.Message ID: @.***>

-- Daxesh Laiwala

daust commented 2 years ago

The good news is ... it works :)

Happy that you could solve it :)