Error in Java 25

Blake McBride <[email protected]> Thu, 9 Oct 2025 16:45:44 -0500
Newsgroups gmane.comp.lang.groovy.user
Message-ID <CABwHSOu1dKew3Y86+iE44ao4yYMWBh8V7ct8RZ5jZ_6z7XC8OQ@mail.gmail.com>
--000000000000d212ba0640c0b972
Content-Type: text/plain; charset="UTF-8"

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

--000000000000d212ba0640c0b972
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello,<div><br>I am trying to run an app that runs fine un=
der Java 21 but will not run under Java 25.<br>The problem appears to be Gr=
oovy. =C2=A0</div><div><br></div><div>Sure appreciate any help.</div><div><=
br></div><div><br></div><div>I am running the following:<br><br>Groovy: =C2=
=A04.0.26<br>Java: =C2=A025<br>Apache tomcat: 11.0.8</div><div><br></div><d=
iv>I get the error when trying to run a .groovy file.=C2=A0 So, it isn&#39;=
t a .class file.=C2=A0 The Groovy file has not been compiled.=C2=A0 Again, =
this code works fine under Java 8, 11, 17, and 21.<br><br>The error under J=
ava 25:<br><br>09-Oct-2025 16:27:47.947 SEVERE [main] org.apache.catalina.c=
ore.StandardContext.listenerStart Exception sending context initialized eve=
nt to listener instance of class [org.kissweb.restServer.StartupListener]<b=
r>	BUG! exception in phase &#39;semantic analysis&#39; in source unit &#39;=
/drive1/ROOT/home/blake/Stack360/Kiss/src/main/backend/KissInit.groovy&#39;=
 Unsupported class file major version 69<br>		at org.codehaus.groovy.contro=
l.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.jav=
a:901)<br>		at org.codehaus.groovy.control.CompilationUnit.processPhaseOper=
ations(CompilationUnit.java:692)<br>		at org.codehaus.groovy.control.Compil=
ationUnit.compile(CompilationUnit.java:666)<br>		at groovy.lang.GroovyClass=
Loader.doParseClass(GroovyClassLoader.java:365)<br>		at groovy.lang.GroovyC=
lassLoader.lambda$parseClass$2(GroovyClassLoader.java:314)<br>		at org.code=
haus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.j=
ava:163)<br>		at org.codehaus.groovy.runtime.memoize.StampedCommonCache.get=
AndPut(StampedCommonCache.java:154)<br>		at groovy.lang.GroovyClassLoader.p=
arseClass(GroovyClassLoader.java:314)<br>		at org.kissweb.restServer.Groovy=
Class.&lt;init&gt;(GroovyClass.java:59)<br>		at org.kissweb.restServer.Groo=
vyService.loadGroovyClass(GroovyService.java:400)<br>		at org.kissweb.restS=
erver.GroovyService.internalGroovy(GroovyService.java:265)<br>		at org.kiss=
web.restServer.MainServlet.initializeSystem(MainServlet.java:352)<br>		at o=
rg.kissweb.restServer.StartupListener.contextInitialized(StartupListener.ja=
va:37)<br>		at org.apache.catalina.core.StandardContext.listenerStart(Stand=
ardContext.java:4015)<br>		at org.apache.catalina.core.StandardContext.star=
tInternal(StandardContext.java:4438)<br>		at org.apache.catalina.util.Lifec=
ycleBase.start(LifecycleBase.java:164)<br>		at org.apache.catalina.core.Con=
tainerBase.addChild(ContainerBase.java:566)<br>		at org.apache.catalina.cor=
e.StandardHost.addChild(StandardHost.java:652)<br>		at org.apache.catalina.=
startup.HostConfig.deployWAR(HostConfig.java:926)<br>		at org.apache.catali=
na.startup.HostConfig$DeployWar.run(HostConfig.java:1842)<br>		at java.base=
/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)<br=
>		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)<br=
>		at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineEx=
ecutorService.java:75)<br>		at java.base/java.util.concurrent.AbstractExecu=
torService.submit(AbstractExecutorService.java:125)<br>		at org.apache.cata=
lina.startup.HostConfig.deployWARs(HostConfig.java:730)<br>		at org.apache.=
catalina.startup.HostConfig.deployApps(HostConfig.java:381)<br>		at org.apa=
che.catalina.startup.HostConfig.start(HostConfig.java:1582)<br>		at org.apa=
che.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:265)<br>		at=
 org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.ja=
va:109)<br>		at org.apache.catalina.util.LifecycleBase.setStateInternal(Lif=
ecycleBase.java:389)<br>		at org.apache.catalina.util.LifecycleBase.setStat=
e(LifecycleBase.java:336)<br>		at org.apache.catalina.core.ContainerBase.st=
artInternal(ContainerBase.java:743)<br>		at org.apache.catalina.core.Standa=
rdHost.startInternal(StandardHost.java:769)<br>		at org.apache.catalina.uti=
l.LifecycleBase.start(LifecycleBase.java:164)<br>		at org.apache.catalina.c=
ore.ContainerBase$StartChild.call(ContainerBase.java:1164)<br>		at org.apac=
he.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1160)<br>=
		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)<br>=
		at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExe=
cutorService.java:75)<br>		at java.base/java.util.concurrent.AbstractExecut=
orService.submit(AbstractExecutorService.java:149)<br>		at org.apache.catal=
ina.core.ContainerBase.startInternal(ContainerBase.java:716)<br>		at org.ap=
ache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203)<br=
>		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)<=
br>		at org.apache.catalina.core.StandardService.startInternal(StandardServ=
ice.java:412)<br>		at org.apache.catalina.util.LifecycleBase.start(Lifecycl=
eBase.java:164)<br>		at org.apache.catalina.core.StandardServer.startIntern=
al(StandardServer.java:866)<br>		at org.apache.catalina.util.LifecycleBase.=
start(LifecycleBase.java:164)<br>		at org.apache.catalina.startup.Catalina.=
start(Catalina.java:759)<br>		at java.base/jdk.internal.reflect.DirectMetho=
dHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)<br>		at java.ba=
se/java.lang.reflect.Method.invoke(Method.java:565)<br>		at org.apache.cata=
lina.startup.Bootstrap.start(Bootstrap.java:342)<br>		at org.apache.catalin=
a.startup.Bootstrap.main(Bootstrap.java:473)<br>	Caused by: java.lang.Illeg=
alArgumentException: Unsupported class file major version 69<br>		at groovy=
jarjarasm.asm.ClassReader.&lt;init&gt;(ClassReader.java:200)<br>		at groovy=
jarjarasm.asm.ClassReader.&lt;init&gt;(ClassReader.java:180)<br>		at groovy=
jarjarasm.asm.ClassReader.&lt;init&gt;(ClassReader.java:166)<br>		at groovy=
jarjarasm.asm.ClassReader.&lt;init&gt;(ClassReader.java:288)<br>		at org.co=
dehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:83=
)<br>		at org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(Clas=
sNodeResolver.java:255)<br>		at org.codehaus.groovy.control.ClassNodeResolv=
er.tryAsLoaderClassOrScript(ClassNodeResolver.java:193)<br>		at org.codehau=
s.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:175=
)<br>		at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNo=
deResolver.java:129)<br>		at org.codehaus.groovy.control.ResolveVisitor.res=
olveToOuter(ResolveVisitor.java:782)<br>		at org.codehaus.groovy.control.Re=
solveVisitor.resolve(ResolveVisitor.java:423)<br>		at org.codehaus.groovy.c=
ontrol.ResolveVisitor.visitClass(ResolveVisitor.java:1240)<br>		at org.code=
haus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:258)<=
br>		at org.codehaus.groovy.control.CompilationUnit.lambda$addPhaseOperatio=
ns$3(CompilationUnit.java:207)<br>		at org.codehaus.groovy.control.Compilat=
ionUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:897)<br>=
		... 50 more<br></div></div>

--000000000000d212ba0640c0b972--