You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Jonathan Gallimore (Jira)" <ji...@apache.org> on 2024/01/05 13:10:00 UTC

[jira] [Commented] (TOMEE-4294) TomEE doesn't start in tomee-embedded-maven-plugin when mp-common is present

    [ https://issues.apache.org/jira/browse/TOMEE-4294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17803536#comment-17803536 ] 

Jonathan Gallimore commented on TOMEE-4294:
-------------------------------------------

Thanks for this, and the reproducer. Taking a look.

> TomEE doesn't start in tomee-embedded-maven-plugin when mp-common is present
> ----------------------------------------------------------------------------
>
>                 Key: TOMEE-4294
>                 URL: https://issues.apache.org/jira/browse/TOMEE-4294
>             Project: TomEE
>          Issue Type: Bug
>    Affects Versions: 9.1.2
>            Reporter: Markus Jung
>            Assignee: Jonathan Gallimore
>            Priority: Major
>         Attachments: tomee-embedded-mp.zip
>
>
> The following exception is thrown when trying to run tomee-embedded through the maven plugin when adding mp-common:
> {code:java}
> Caused by: java.lang.NoSuchMethodError: 'void jakarta.enterprise.inject.spi.BeforeBeanDiscovery.addAnnotatedType(jakarta.enterprise.inject.spi.AnnotatedType)'
>     at org.apache.bval.cdi.BValExtension.addBvalBinding (BValExtension.java:112)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
>     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:568)
>     at org.apache.webbeans.event.ObserverMethodImpl.invoke (ObserverMethodImpl.java:410)
>     at org.apache.webbeans.event.ContainerEventObserverMethodImpl.invoke (ContainerEventObserverMethodImpl.java:86)
>     at org.apache.webbeans.event.ObserverMethodImpl.notify (ObserverMethodImpl.java:371)
>     at org.apache.webbeans.event.NotificationManager.invokeObserverMethod (NotificationManager.java:1146)
>     at org.apache.webbeans.event.NotificationManager.doFireSync (NotificationManager.java:1009)
>     at org.apache.webbeans.event.NotificationManager.doFireEvent (NotificationManager.java:952)
>     at org.apache.webbeans.event.NotificationManager.fireEvent (NotificationManager.java:928)
>     at org.apache.webbeans.container.BeanManagerImpl.fireEvent (BeanManagerImpl.java:495)
>     at org.apache.webbeans.container.BeanManagerImpl.fireLifecycleEvent (BeanManagerImpl.java:490)
>     at org.apache.webbeans.config.BeansDeployer.fireBeforeBeanDiscoveryEvent (BeansDeployer.java:805)
>     at org.apache.webbeans.config.BeansDeployer.deploy (BeansDeployer.java:244)
>     at org.apache.openejb.cdi.OpenEJBLifecycle.startApplication (OpenEJBLifecycle.java:196)
>     at org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize (ThreadSingletonServiceImpl.java:268)
>     at org.apache.openejb.cdi.CdiBuilder.build (CdiBuilder.java:43)
>     at org.apache.openejb.assembler.classic.Assembler.createApplication (Assembler.java:974)
>     at org.apache.openejb.assembler.classic.Assembler.createApplication (Assembler.java:762)
>     at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal (TomcatWebAppBuilder.java:1340)
>     at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart (TomcatWebAppBuilder.java:1162)
>     at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent (GlobalListenerSupport.java:134)
>     at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent (LifecycleBase.java:123)
>     at org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5085)
>     at org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:183)
>     at org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:726)
>     at org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:698)
>     at org.apache.catalina.core.StandardHost.addChild (StandardHost.java:747)
>     at org.apache.tomee.catalina.TomcatWebAppBuilder.deployWar (TomcatWebAppBuilder.java:687)
>     at org.apache.tomee.catalina.TomcatWebAppBuilder.deployWebApps (TomcatWebAppBuilder.java:616)
>     at org.apache.tomee.catalina.deployment.TomcatWebappDeployer.deploy (TomcatWebappDeployer.java:47)
>     at org.apache.tomee.embedded.Container.deploy (Container.java:876)
>     at org.apache.openejb.maven.plugins.TomEEEmbeddedMojo.doDeploy (TomEEEmbeddedMojo.java:529)
>     at org.apache.openejb.maven.plugins.TomEEEmbeddedMojo.execute (TomEEEmbeddedMojo.java:445)
>     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 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
>     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:568)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348){code}
> Setting the containerProperty tomee.mp.scan=true causes a different stacktrace but looks to have the same root cause:
> {code:java}
> Caused by: java.lang.NoSuchMethodError: 'void jakarta.enterprise.inject.spi.BeforeBeanDiscovery.addAnnotatedType(jakarta.enterprise.inject.spi.AnnotatedType)'
>     at org.apache.tomee.microprofile.opentracing.MPOpenTracingCDIExtension.observeBeforeBeanDiscovery (MPOpenTracingCDIExtension.java:33)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
>     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:568)
>     at org.apache.webbeans.event.ObserverMethodImpl.invoke (ObserverMethodImpl.java:410)
>     at org.apache.webbeans.event.ContainerEventObserverMethodImpl.invoke (ContainerEventObserverMethodImpl.java:86)
>     at org.apache.webbeans.event.ObserverMethodImpl.notify (ObserverMethodImpl.java:371)
>     at org.apache.webbeans.event.NotificationManager.invokeObserverMethod (NotificationManager.java:1146)
>     at org.apache.webbeans.event.NotificationManager.doFireSync (NotificationManager.java:1009)
>     at org.apache.webbeans.event.NotificationManager.doFireEvent (NotificationManager.java:952)
>     at org.apache.webbeans.event.NotificationManager.fireEvent (NotificationManager.java:928)
>     at org.apache.webbeans.container.BeanManagerImpl.fireEvent (BeanManagerImpl.java:495)
>     at org.apache.webbeans.container.BeanManagerImpl.fireLifecycleEvent (BeanManagerImpl.java:490)
>     at org.apache.webbeans.config.BeansDeployer.fireBeforeBeanDiscoveryEvent (BeansDeployer.java:805)
>     at org.apache.webbeans.config.BeansDeployer.deploy (BeansDeployer.java:244)
>     at org.apache.openejb.cdi.OpenEJBLifecycle.startApplication (OpenEJBLifecycle.java:196)
>     at org.apache.openejb.cdi.ThreadSingletonServiceImpl.initialize (ThreadSingletonServiceImpl.java:268)
>     at org.apache.openejb.cdi.CdiBuilder.build (CdiBuilder.java:43)
>     at org.apache.openejb.assembler.classic.Assembler.createApplication (Assembler.java:974)
>     at org.apache.openejb.assembler.classic.Assembler.createApplication (Assembler.java:762)
>     at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal (TomcatWebAppBuilder.java:1340)
>     at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart (TomcatWebAppBuilder.java:1162)
>     at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent (GlobalListenerSupport.java:134)
>     at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent (LifecycleBase.java:123)
>     at org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5085)
>     at org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:183)
>     at org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:726)
>     at org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:698)
>     at org.apache.catalina.core.StandardHost.addChild (StandardHost.java:747)
>     at org.apache.tomee.catalina.TomcatWebAppBuilder.deployWar (TomcatWebAppBuilder.java:687)
>     at org.apache.tomee.catalina.TomcatWebAppBuilder.deployWebApps (TomcatWebAppBuilder.java:616)
>     at org.apache.tomee.catalina.deployment.TomcatWebappDeployer.deploy (TomcatWebappDeployer.java:47)
>     at org.apache.tomee.embedded.Container.deploy (Container.java:876)
>     at org.apache.openejb.maven.plugins.TomEEEmbeddedMojo.doDeploy (TomEEEmbeddedMojo.java:529)
>     at org.apache.openejb.maven.plugins.TomEEEmbeddedMojo.execute (TomEEEmbeddedMojo.java:445)
>     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 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
>     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:568)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348){code}
> System information:
> {code:java}
> ➜ mvn --version
> Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
> Maven home: /home/markus/.sdkman/candidates/maven/current
> Java version: 17.0.8, vendor: Eclipse Adoptium, runtime: /home/markus/.sdkman/candidates/java/17.0.8-tem
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "6.5.0-14-generic", arch: "amd64", family: "unix {code}
>  
> I've attached a reproducer, simply run mvn package tomee-embedded:run
> The exception isn't being thrown as soon as I remove the mp-common dependency. Starting TomEE microprofile the normal standalone way also appears to work fine.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)