Sorry, but I don't have anything to say about the specific problem! That said I found this: https://openjdk.org
Is it possible the open source world can take this JVM code and take it in an own, fully backwards compatible direction, so that we can avoid problems like this ? Tommy Svensson [email protected] Från: Blake McBride <[email protected]> Svara: [email protected] <[email protected]> Datum: 10 oktober 2025 at 01:26:18 Till: [email protected] <[email protected]> Ämne: Re: Error in Java 25 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
