we are using jbake-maven-plugin to build the website https://sling.apache.org/, repo https://github.com/apache/sling-site
when we try to switch to java 21, the jbake run fails with:
Exception in thread "main" BUG! exception in phase 'semantic analysis' in source unit 'file:/Z:/Dev/OpenSource/sling-git/sling-site/src/main/jbake/templates/footer.tpl' Unsupported class file major version 65
at org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:905)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:627)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:389)
at groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:332)
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:330)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:314)
at groovy.text.markup.MarkupTemplateEngine$TemplateGroovyClassLoader.parseClass(MarkupTemplateEngine.java:254)
at groovy.text.markup.MarkupTemplateEngine$MarkupTemplateMaker.<init>(MarkupTemplateEngine.java:227)
at groovy.text.markup.MarkupTemplateEngine.createTypeCheckedModelTemplate(MarkupTemplateEngine.java:176)
at groovy.text.markup.BaseTemplate.includeGroovy(BaseTemplate.java:305)
at main$_run_closure1$_closure2$_closure3$_closure7$_closure16.doCall(main.tpl:45)
at main$_run_closure1$_closure2$_closure3$_closure7$_closure16.call(main.tpl)
at groovy.text.markup.BaseTemplate.writeBody(BaseTemplate.java:275)
at groovy.text.markup.BaseTemplate.methodMissing(BaseTemplate.java:251)
at main$_run_closure1$_closure2$_closure3$_closure7.doCall(main.tpl:42)
at main$_run_closure1$_closure2$_closure3$_closure7.call(main.tpl)
at groovy.text.markup.BaseTemplate.writeBody(BaseTemplate.java:275)
at groovy.text.markup.BaseTemplate.methodMissing(BaseTemplate.java:251)
at main$_run_closure1$_closure2$_closure3.doCall(main.tpl:41)
at main$_run_closure1$_closure2$_closure3.call(main.tpl)
at groovy.text.markup.BaseTemplate.writeBody(BaseTemplate.java:275)
at groovy.text.markup.BaseTemplate.methodMissing(BaseTemplate.java:251)
at main$_run_closure1$_closure2.doCall(main.tpl:5)
at main$_run_closure1$_closure2.call(main.tpl)
at groovy.text.markup.BaseTemplate.writeBody(BaseTemplate.java:275)
at groovy.text.markup.BaseTemplate.methodMissing(BaseTemplate.java:251)
at main$_run_closure1.doCall(main.tpl:4)
at main$_run_closure1.call(main.tpl)
at groovy.text.markup.BaseTemplate.writeBody(BaseTemplate.java:275)
at groovy.text.markup.BaseTemplate.methodMissing(BaseTemplate.java:251)
at main.run(main.tpl:2)
at groovy.text.markup.BaseTemplate.writeTo(BaseTemplate.java:471)
at groovy.text.markup.BaseTemplate.layout(BaseTemplate.java:415)
at archive.run(archive.tpl:3)
at groovy.text.markup.BaseTemplate.writeTo(BaseTemplate.java:471)
at org.jbake.template.GroovyMarkupTemplateEngine.renderDocument(GroovyMarkupTemplateEngine.java:66)
at org.jbake.template.DelegatingTemplateEngine.renderDocument(DelegatingTemplateEngine.java:71)
at org.jbake.app.Renderer.render(Renderer.java:164)
at org.jbake.app.Renderer.renderArchive(Renderer.java:257)
at org.jbake.render.ArchiveRenderer.render(ArchiveRenderer.java:19)
at org.jbake.app.Oven.renderContent(Oven.java:226)
at org.jbake.app.Oven.bake(Oven.java:172)
at org.jbake.maven.GenerateMojo.reRender(GenerateMojo.java:81)
at org.jbake.maven.GenerateMojo.executeInternal(GenerateMojo.java:74)
at org.jbake.maven.GenerateMojo.execute(GenerateMojo.java:70)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:206)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 65
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:199)
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:180)
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:166)
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:287)
at org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
at org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:251)
at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:189)
at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:169)
at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:125)
at org.codehaus.groovy.control.ResolveVisitor.resolveToOuter(ResolveVisitor.java:870)
at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:506)
at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1432)
at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:262)
at org.codehaus.groovy.control.CompilationUnit.lambda$new$16(CompilationUnit.java:738)
at org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:901)
... 71 more
i did not look into details, but it seems the dependencies to groovy 3.0.9 which are in jbake-maven-plugin 2.7.0 are the problem - if i overwrite the dependencies in our project to groovy 3.0.25 the error does not occur.
without that override, the build runs fine with java 11 and java 17.
we are using jbake-maven-plugin to build the website https://sling.apache.org/, repo https://github.com/apache/sling-site
when we try to switch to java 21, the jbake run fails with:
i did not look into details, but it seems the dependencies to groovy 3.0.9 which are in jbake-maven-plugin 2.7.0 are the problem - if i overwrite the dependencies in our project to groovy 3.0.25 the error does not occur.
without that override, the build runs fine with java 11 and java 17.