Hi,

JDK21 just entered RampDown Phase 1 and I've been trying to get our project running with OracleJDK 21 EA. We're using Groovy 4.0.12 and trying to start our application fails with a ASM-related crash ("Unsupported class file major version 65" , see end of my e-mail).

Seeing that Groovy bundles ASM, I wanted to see whether the crash maybe goes away when using HEAD so I cloned https://github.com/apache/groovy.git and tried to build on JDK17 (Eclipse Temurin). Unfortunately I'm a Maven user and I failed miserably trying to convince Gradle to install the generated SNAPSHOT artifacts into my local Maven repository.

A Google search on how do do this turned up the command "gradlew publishToMavenLocal" but when I run this I get an error:

--------->8--------->8--------->8--------->8--------->8--------->8--------->8--------->8--------->8

FAILURE: Build failed with an exception.

* What went wrong:
A problem was found with the configuration of task ':groovy-all:sourcesAllJar' (type 'Jar').   - Gradle detected a problem with the following location: '/extra/home/tobi/tmp/groovy/build/generated/sources/antlr4'.

    Reason: Task ':groovy-all:sourcesAllJar' uses this output of task ':generateGrammarSource' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

    Possible solutions:
      1. Declare task ':generateGrammarSource' as an input of ':groovy-all:sourcesAllJar'.       2. Declare an explicit dependency on ':generateGrammarSource' from ':groovy-all:sourcesAllJar' using Task#dependsOn.       3. Declare an explicit dependency on ':generateGrammarSource' from ':groovy-all:sourcesAllJar' using Task#mustRunAfter.

    Please refer to https://docs.gradle.org/8.1.1/userguide/validation_problems.html#implicit_dependency for more details about this problem.

--------->8--------->8--------->8--------->8--------->8--------->8

Since installing the build artifacts locally must be a very common use-case, I'm probably doing something terribly wrong here... can somebody give me a hint ?

Thank you,
Tobias

P.S. This is the exception I'm getting when trying to run our application. We're using a fairly funky log4j2.xml file that makes use of the Log4J Groovy scripting feature and hence org.apache.logging.log4j shows up in the stack trace.


BUG! exception in phase 'semantic analysis' in source unit 'Script2.groovy' Unsupported class file major version 65     at org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:900)     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:373)     at groovy.lang.GroovyClassLoader.lambda$parseClass$2(GroovyClassLoader.java:316)     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 groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:298)
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:258)
    at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getScriptClass(GroovyScriptEngineImpl.java:350)     at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:159)     at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:231)     at org.apache.logging.log4j.core.script.ScriptManager$MainScriptRunner.execute(ScriptManager.java:254)     at org.apache.logging.log4j.core.script.ScriptManager.lambda$execute$0(ScriptManager.java:197)     at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)     at org.apache.logging.log4j.core.script.ScriptManager.execute(ScriptManager.java:197)     at org.apache.logging.log4j.core.appender.routing.RoutingAppender.start(RoutingAppender.java:193)     at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:320)     at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621)     at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)     at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)     at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)     at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)     at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
    at org.apache.logging.log4j.LogManager.getContext(LogManager.java:309)
    at org.apache.log4j.Hierarchy$PrivateLogManager.getContext(Hierarchy.java:86)
    at org.apache.log4j.Hierarchy.getContext(Hierarchy.java:99)
    at org.apache.log4j.Category.<init>(Category.java:188)
    at org.apache.log4j.Logger.<init>(Logger.java:57)
    at org.apache.log4j.spi.RootLogger.<init>(RootLogger.java:39)
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:72)
    at com.voipfuture.voipmanager.tomcat.valve.ProgressValve.<clinit>(ProgressValve.java:46)     at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)     at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1160)     at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:300)     at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newConstructorAccessor(MethodHandleAccessorFactory.java:103)     at java.base/jdk.internal.reflect.ReflectionFactory.newConstructorAccessor(ReflectionFactory.java:200)     at java.base/java.lang.reflect.Constructor.acquireConstructorAccessor(Constructor.java:549)     at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)     at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)     at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:105)     at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1293)     at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:518)     at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1387)     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2726)     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)     at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542)     at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)     at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)     at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)     at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224)     at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637)
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1551)
    at org.apache.catalina.startup.Catalina.parseServerXml(Catalina.java:617)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:709)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:746)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:302)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:472)
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: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:773)     at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:413)     at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:375)     at org.codehaus.groovy.control.ResolveVisitor.transformPropertyExpression(ResolveVisitor.java:933)     at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:794)     at org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1152)     at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:800)     at org.codehaus.groovy.control.ResolveVisitor.transformBinaryExpression(ResolveVisitor.java:1058)     at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:798)     at org.codehaus.groovy.ast.expr.BooleanExpression.transformExpression(BooleanExpression.java:46)     at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:809)     at org.codehaus.groovy.ast.expr.TernaryExpression.transformExpression(TernaryExpression.java:50)     at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:809)     at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:129)     at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:41)     at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86)     at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:168)     at org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1399)     at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:70)     at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:142)     at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:115)     at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:87)     at org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:298)     at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:110)     at org.codehaus.groovy.control.ResolveVisitor.visitMethod(ResolveVisitor.java:268)
    at org.codehaus.groovy.ast.ClassNode.visitMethods(ClassNode.java:1131)
    at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1124)
    at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:52)

--
Tobias Gierke
Software Developer

Voipfuture GmbH   Wendenstr. 4   20097 Hamburg   Germany
Phone +49 40 688 9001 64   Fax +49 40 688 9001 99
Managing Directors   Jan Bastian   Eyal Ullert
Commercial Court AG Hamburg   HRB 109896   VAT ID DE263738086


Reply via email to