Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building jOOQ on Java 19 fails in xtend #14519

Closed
jexp opened this issue Jan 19, 2023 · 4 comments
Closed

Building jOOQ on Java 19 fails in xtend #14519

jexp opened this issue Jan 19, 2023 · 4 comments

Comments

@jexp
Copy link

jexp commented Jan 19, 2023

Expected behavior

Build succeeding like on Java 17

Looks like a java class compatibility issue in xtend

Actual behavior

No response

Steps to reproduce the problem

Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: /Users/mh/.sdkman/candidates/maven/current
Java version: 19, vendor: Oracle Corporation, runtime: /Users/mh/.sdkman/candidates/java/19-open
Default locale: de_DE, platform encoding: UTF-8
OS name: "mac os x", version: "12.0", arch: "aarch64", family: "mac"

build

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  30.135 s
[INFO] Finished at: 2023-01-19T14:31:53+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.eclipse.xtend:xtend-maven-plugin:2.25.0:compile (default) on project jooq-xtend: Execution default of goal org.eclipse.xtend:xtend-maven-plugin:2.25.0:compile failed: java.lang.IllegalStateException: Resource has not been loaded -> [Help 1]
[INFO] Couldn't find JvmType for name 'java.lang.Object' in context org.eclipse.xtend.core.xtend.impl.XtendClassImplCustom@5b762493 (modifiers: []) (name: Conversions)
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.xtext.common.types.access.TypeResource$CannotLoadTypeResourceException: java.lang.IllegalArgumentException: Unsupported class file major version 63
    at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException (ResourceSetImpl.java:319)
    at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper (ResourceSetImpl.java:278)
    at org.eclipse.xtext.resource.XtextResourceSet.getResource (XtextResourceSet.java:266)
    at org.eclipse.xtext.common.types.access.impl.ClasspathTypeProvider.findTypeByClass (ClasspathTypeProvider.java:247)
    at org.eclipse.xtext.common.types.access.impl.ClasspathTypeProvider.findTypeByName (ClasspathTypeProvider.java:193)
    at org.eclipse.xtext.common.types.util.TypeReferences.findDeclaredType (TypeReferences.java:256)
    at org.eclipse.xtext.common.types.util.TypeReferences.findDeclaredType (TypeReferences.java:233)
    at org.eclipse.xtext.common.types.util.TypeReferences.getTypeForName (TypeReferences.java:193)
    at org.eclipse.xtend.core.jvmmodel.XtendJvmModelInferrer.initialize (XtendJvmModelInferrer.java:390)
    at org.eclipse.xtend.core.jvmmodel.XtendJvmModelInferrer$4.run (XtendJvmModelInferrer.java:279)
    at org.eclipse.xtend.core.jvmmodel.XtendJvmModelInferrer$2.run (XtendJvmModelInferrer.java:219)
    at org.eclipse.xtext.xbase.resource.BatchLinkableResource.ensureJvmMembersInitialized (BatchLinkableResource.java:232)
    at org.eclipse.xtext.common.types.impl.JvmDeclaredTypeImplCustom.checkPendingInitialization (JvmDeclaredTypeImplCustom.java:546)
    at org.eclipse.xtext.common.types.impl.JvmDeclaredTypeImplCustom.eContents (JvmDeclaredTypeImplCustom.java:553)
    at org.eclipse.emf.ecore.util.EcoreUtil$ProperContentIterator.<init> (EcoreUtil.java:1354)
    at org.eclipse.emf.ecore.util.EcoreUtil$5.getChildren (EcoreUtil.java:1296)
    at org.eclipse.emf.common.util.AbstractTreeIterator.next (AbstractTreeIterator.java:138)
    at org.eclipse.xtext.resource.impl.DefaultResourceDescription.computeExportedObjects (DefaultResourceDescription.java:89)
    at org.eclipse.xtend.core.resource.XtendResourceDescription.getLookUp (XtendResourceDescription.java:57)
    at org.eclipse.xtext.resource.impl.AbstractResourceDescription.getExportedObjects (AbstractResourceDescription.java:51)
    at org.eclipse.xtend.core.scoping.LocalResourceFilteringTypeScope.isFiltered (LocalResourceFilteringTypeScope.java:47)
    at org.eclipse.xtend.core.scoping.LocalResourceFilteringTypeScope.getSingleElement (LocalResourceFilteringTypeScope.java:40)
    at org.eclipse.xtend.core.scoping.RecordingTypeScope.getSingleElement (RecordingTypeScope.java:52)
    at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement (AbstractScope.java:109)
    at org.eclipse.xtext.linking.impl.DefaultLinkingService.getLinkedObjects (DefaultLinkingService.java:115)
    at org.eclipse.xtext.linking.lazy.LazyLinkingResource.getEObject (LazyLinkingResource.java:266)
    at org.eclipse.xtext.xbase.resource.BatchLinkableResource.getEObject (BatchLinkableResource.java:120)
    at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject (ResourceSetImpl.java:223)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolve (EcoreUtil.java:209)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolve (EcoreUtil.java:269)
    at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eResolveProxy (BasicEObjectImpl.java:1477)
    at org.eclipse.xtext.xtype.impl.XImportDeclarationImpl.getImportedType (XImportDeclarationImpl.java:262)
    at org.eclipse.xtext.xtype.impl.XImportDeclarationImpl.eGet (XImportDeclarationImpl.java:389)
    at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet (BasicEObjectImpl.java:1011)
    at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet (BasicEObjectImpl.java:1003)
    at org.eclipse.emf.ecore.util.EContentsEList$FeatureIteratorImpl.hasNext (EContentsEList.java:439)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolveCrossReferences (EcoreUtil.java:314)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolveAll (EcoreUtil.java:308)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolveAll (EcoreUtil.java:293)
    at org.eclipse.xtend.core.compiler.batch.XtendBatchCompiler.compile (XtendBatchCompiler.java:533)
    at org.eclipse.xtend.maven.AbstractXtendCompilerMojo.compile (AbstractXtendCompilerMojo.java:172)
    at org.eclipse.xtend.maven.XtendCompile.internalExecute (XtendCompile.java:60)
    at org.eclipse.xtend.maven.AbstractXtendMojo.execute (AbstractXtendMojo.java:40)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:104)
    at java.lang.reflect.Method.invoke (Method.java:578)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.eclipse.xtext.common.types.access.TypeResource$CannotLoadTypeResourceException: java.lang.IllegalArgumentException: Unsupported class file major version 63
    at org.eclipse.xtext.common.types.access.TypeResource.doLoad (TypeResource.java:148)
    at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load (ResourceImpl.java:1563)
    at org.eclipse.xtext.common.types.access.TypeResource.load (TypeResource.java:121)
    at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad (ResourceSetImpl.java:259)
    at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper (ResourceSetImpl.java:274)
    at org.eclipse.xtext.resource.XtextResourceSet.getResource (XtextResourceSet.java:266)
    at org.eclipse.xtext.common.types.access.impl.ClasspathTypeProvider.findTypeByClass (ClasspathTypeProvider.java:247)
    at org.eclipse.xtext.common.types.access.impl.ClasspathTypeProvider.findTypeByName (ClasspathTypeProvider.java:193)
    at org.eclipse.xtext.common.types.util.TypeReferences.findDeclaredType (TypeReferences.java:256)
    at org.eclipse.xtext.common.types.util.TypeReferences.findDeclaredType (TypeReferences.java:233)
    at org.eclipse.xtext.common.types.util.TypeReferences.getTypeForName (TypeReferences.java:193)
    at org.eclipse.xtend.core.jvmmodel.XtendJvmModelInferrer.initialize (XtendJvmModelInferrer.java:390)
    at org.eclipse.xtend.core.jvmmodel.XtendJvmModelInferrer$4.run (XtendJvmModelInferrer.java:279)
    at org.eclipse.xtend.core.jvmmodel.XtendJvmModelInferrer$2.run (XtendJvmModelInferrer.java:219)
    at org.eclipse.xtext.xbase.resource.BatchLinkableResource.ensureJvmMembersInitialized (BatchLinkableResource.java:232)
    at org.eclipse.xtext.common.types.impl.JvmDeclaredTypeImplCustom.checkPendingInitialization (JvmDeclaredTypeImplCustom.java:546)
    at org.eclipse.xtext.common.types.impl.JvmDeclaredTypeImplCustom.eContents (JvmDeclaredTypeImplCustom.java:553)
    at org.eclipse.emf.ecore.util.EcoreUtil$ProperContentIterator.<init> (EcoreUtil.java:1354)
    at org.eclipse.emf.ecore.util.EcoreUtil$5.getChildren (EcoreUtil.java:1296)
    at org.eclipse.emf.common.util.AbstractTreeIterator.next (AbstractTreeIterator.java:138)
    at org.eclipse.xtext.resource.impl.DefaultResourceDescription.computeExportedObjects (DefaultResourceDescription.java:89)
    at org.eclipse.xtend.core.resource.XtendResourceDescription.getLookUp (XtendResourceDescription.java:57)
    at org.eclipse.xtext.resource.impl.AbstractResourceDescription.getExportedObjects (AbstractResourceDescription.java:51)
    at org.eclipse.xtend.core.scoping.LocalResourceFilteringTypeScope.isFiltered (LocalResourceFilteringTypeScope.java:47)
    at org.eclipse.xtend.core.scoping.LocalResourceFilteringTypeScope.getSingleElement (LocalResourceFilteringTypeScope.java:40)
    at org.eclipse.xtend.core.scoping.RecordingTypeScope.getSingleElement (RecordingTypeScope.java:52)
    at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement (AbstractScope.java:109)
    at org.eclipse.xtext.linking.impl.DefaultLinkingService.getLinkedObjects (DefaultLinkingService.java:115)
    at org.eclipse.xtext.linking.lazy.LazyLinkingResource.getEObject (LazyLinkingResource.java:266)
    at org.eclipse.xtext.xbase.resource.BatchLinkableResource.getEObject (BatchLinkableResource.java:120)
    at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject (ResourceSetImpl.java:223)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolve (EcoreUtil.java:209)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolve (EcoreUtil.java:269)
    at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eResolveProxy (BasicEObjectImpl.java:1477)
    at org.eclipse.xtext.xtype.impl.XImportDeclarationImpl.getImportedType (XImportDeclarationImpl.java:262)
    at org.eclipse.xtext.xtype.impl.XImportDeclarationImpl.eGet (XImportDeclarationImpl.java:389)
    at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet (BasicEObjectImpl.java:1011)
    at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet (BasicEObjectImpl.java:1003)
    at org.eclipse.emf.ecore.util.EContentsEList$FeatureIteratorImpl.hasNext (EContentsEList.java:439)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolveCrossReferences (EcoreUtil.java:314)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolveAll (EcoreUtil.java:308)
    at org.eclipse.emf.ecore.util.EcoreUtil.resolveAll (EcoreUtil.java:293)
    at org.eclipse.xtend.core.compiler.batch.XtendBatchCompiler.compile (XtendBatchCompiler.java:533)
    at org.eclipse.xtend.maven.AbstractXtendCompilerMojo.compile (AbstractXtendCompilerMojo.java:172)
    at org.eclipse.xtend.maven.XtendCompile.internalExecute (XtendCompile.java:60)
    at org.eclipse.xtend.maven.AbstractXtendMojo.execute (AbstractXtendMojo.java:40)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:104)
    at java.lang.reflect.Method.invoke (Method.java:578)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

jOOQ Version

3.18.0-SNAPSHOT

Database product and version

Neo4j

Java Version

openjdk version "19" 2022-09-20 OpenJDK Runtime Environment (build 19+36-2238)

OS Version

OSX M1 ARM

JDBC driver name and version (include name if unofficial driver)

No response

@lukaseder
Copy link
Member

Thanks a lot for your report. It looks as though our JDK 19 integration test suite hasn't been active to detect this. Will look into it right away. Probably an upgrade of the xtend libraries should suffice?

@lukaseder
Copy link
Member

Yes indeed, the upgrade seems to do the trick.

@lukaseder
Copy link
Member

Fixed in jOOQ 3.18.0, 3.17.8 (#14520), and 3.16.14 (#14521)

lukaseder added a commit that referenced this issue Jan 19, 2023
lukaseder added a commit that referenced this issue Jan 19, 2023
@lukaseder
Copy link
Member

Looks like this fix broke the build for the Java 8 distribution:

Caused by: java.lang.UnsupportedClassVersionError: org/eclipse/xtend/maven/XtendCompile has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1 (Native Method)
    at java.lang.ClassLoader.defineClass (ClassLoader.java:756)
    at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass (URLClassLoader.java:473)
    at java.net.URLClassLoader.access$100 (URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run (URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run (URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged (Native Method)
    at java.net.URLClassLoader.findClass (URLClassLoader.java:362)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf (ClassRealm.java:425)
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass (SelfFirstStrategy.java:42)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass (ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:247)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:239)
    at org.eclipse.sisu.space.URLClassSpace.loadClass (URLClassSpace.java:139)
    at org.eclipse.sisu.space.NamedClass.load (NamedClass.java:46)
    at org.eclipse.sisu.space.AbstractDeferredClass.get (AbstractDeferredClass.java:48)
    at com.google.inject.internal.ProviderInternalFactory.provision (ProviderInternalFactory.java:85)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision (InternalFactoryToInitializableAdapter.java:57)
    at com.google.inject.internal.ProviderInternalFactory$1.call (ProviderInternalFactory.java:66)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:112)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision (ProvisionListenerStackCallback.java:127)
    at com.google.inject.internal.ProvisionListenerStackCallback.provision (ProvisionListenerStackCallback.java:66)
    at com.google.inject.internal.ProviderInternalFactory.circularGet (ProviderInternalFactory.java:61)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get (InternalFactoryToInitializableAdapter.java:47)
    at com.google.inject.internal.InjectorImpl$1.get (InjectorImpl.java:1050)
    at org.eclipse.sisu.inject.Guice4$1.get (Guice4.java:162)
    at org.eclipse.sisu.inject.LazyBeanEntry.getValue (LazyBeanEntry.java:81)
    at org.eclipse.sisu.plexus.LazyPlexusBean.getValue (LazyPlexusBean.java:51)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:263)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup (DefaultPlexusContainer.java:255)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo (DefaultMavenPluginManager.java:520)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:124)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

I'll backport xtend for that distribution

lukaseder added a commit that referenced this issue Jan 20, 2023
lukaseder added a commit that referenced this issue Jan 20, 2023
lukaseder added a commit that referenced this issue Jan 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants