I fixed the problem by upgrading to Groovy 4.0.28

On Thu, Oct 9, 2025 at 4:45 PM Blake McBride <[email protected]> wrote:

> Hello,
>
> I am trying to run an app that runs fine under Java 21 but will not run
> under Java 25.
> The problem appears to be Groovy.
>
> Sure appreciate any help.
>
>
> I am running the following:
>
> Groovy:  4.0.26
> Java:  25
> Apache tomcat: 11.0.8
>
> I get the error when trying to run a .groovy file.  So, it isn't a .class
> file.  The Groovy file has not been compiled.  Again, this code works fine
> under Java 8, 11, 17, and 21.
>
> The error under Java 25:
>
> 09-Oct-2025 16:27:47.947 SEVERE [main]
> org.apache.catalina.core.StandardContext.listenerStart Exception sending
> context initialized event to listener instance of class
> [org.kissweb.restServer.StartupListener]
> BUG! exception in phase 'semantic analysis' in source unit
> '/drive1/ROOT/home/blake/Stack360/Kiss/src/main/backend/KissInit.groovy'
> Unsupported class file major version 69
> at
> org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:901)
> at
> org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:692)
> at
> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:666)
> at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:365)
> at
> groovy.lang.GroovyClassLoader.lambda$parseClass$2(GroovyClassLoader.java:314)
> at
> org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163)
> at
> org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154)
> at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:314)
> at org.kissweb.restServer.GroovyClass.<init>(GroovyClass.java:59)
> at
> org.kissweb.restServer.GroovyService.loadGroovyClass(GroovyService.java:400)
> at
> org.kissweb.restServer.GroovyService.internalGroovy(GroovyService.java:265)
> at
> org.kissweb.restServer.MainServlet.initializeSystem(MainServlet.java:352)
> at
> org.kissweb.restServer.StartupListener.contextInitialized(StartupListener.java:37)
> at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4015)
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4438)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:566)
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
> at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:926)
> at
> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1842)
> at
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
> at
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> at
> java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:125)
> at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:730)
> at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:381)
> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1582)
> at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:265)
> at
> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109)
> at
> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:389)
> at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:336)
> at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:743)
> at
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:769)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1164)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1160)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
> at
> org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
> at
> java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:149)
> at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:716)
> at
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
> at
> org.apache.catalina.core.StandardService.startInternal(StandardService.java:412)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
> at
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:866)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:759)
> at
> java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
> at java.base/java.lang.reflect.Method.invoke(Method.java:565)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
> Caused by: java.lang.IllegalArgumentException: Unsupported class file
> major version 69
> at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:200)
> at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:180)
> at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:166)
> at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:288)
> at
> org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:83)
> at
> org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:255)
> at
> org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:193)
> at
> org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:175)
> at
> org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:129)
> at
> org.codehaus.groovy.control.ResolveVisitor.resolveToOuter(ResolveVisitor.java:782)
> at
> org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:423)
> at
> org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1240)
> at
> org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:258)
> at
> org.codehaus.groovy.control.CompilationUnit.lambda$addPhaseOperations$3(CompilationUnit.java:207)
> at
> org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:897)
> ... 50 more
>

Reply via email to