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

Cesar Hernandez commented on TOMEE-3931:
----------------------------------------

PR is available for review: https://github.com/apache/tomee/pull/875

The issue was that io.cucumber:cucumber-openejb:7.3.2 still uses 
javax.ejb.embeddable.EJBContainer in OpenEJBObjectFactory.java

Since currently there is no new version compatible with jakarta.ejb [1], I 
added a module deps/cucumber-openejb-shade to fix the example and provide the 
context in the  cucumber-openejb/pom.xml to let people know why we are using a 
shade version.

[1] https://github.com/cucumber/cucumber-jvm/issues/2450

> fix example/cucumber-jvm 
> -------------------------
>
>                 Key: TOMEE-3931
>                 URL: https://issues.apache.org/jira/browse/TOMEE-3931
>             Project: TomEE
>          Issue Type: Sub-task
>    Affects Versions: 9.0.0-M7
>            Reporter: Cesar Hernandez
>            Assignee: Cesar Hernandez
>            Priority: Major
>             Fix For: 9.0.0-M8
>
>
> Current Master CI shows this test if failing. I was able to reproduce the 
> issue locally too:
> {code:java}
>  T E S T S
> -------------------------------------------------------
> Running org.superbiz.cucumber.CucumberTest
> 0 Scenarios
> 0 Steps
> 0m0.149s
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.411 sec <<< 
> FAILURE!
> Feature: Hello  Time elapsed: 0.406 sec  <<< ERROR!
> java.lang.NoClassDefFoundError: javax/ejb/embeddable/EJBContainer
>       at 
> cucumber.runtime.java.openejb.OpenEJBObjectFactory.start(OpenEJBObjectFactory.java:32)
>       at cucumber.runtime.java.JavaBackend.buildWorld(JavaBackend.java:115)
>       at cucumber.runner.Runner.buildBackendWorlds(Runner.java:120)
>       at cucumber.runner.Runner.runPickle(Runner.java:38)
>       at 
> cucumber.runtime.junit.PickleRunners$NoStepDescriptions.run(PickleRunners.java:146)
>       at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:68)
>       at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:23)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
>       at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:73)
>       at cucumber.api.junit.Cucumber.runChild(Cucumber.java:122)
>       at cucumber.api.junit.Cucumber.runChild(Cucumber.java:64)
>       at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
>       at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
>       at cucumber.api.junit.Cucumber$1.evaluate(Cucumber.java:131)
>       at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
>       at 
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>       at 
> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
>       at 
> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
>       at 
> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
> Caused by: java.lang.ClassNotFoundException: javax.ejb.embeddable.EJBContainer
>       at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
>       at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
>       at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
>       ... 37 more
> Results :
> Tests in error: 
>   Feature: Hello: javax/ejb/embeddable/EJBContainer
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
> [ERROR] There are test failures.
> Please refer to 
> /home/jenkins/jenkins-agent/workspace/Tomee/master-build-full/examples/cucumber-jvm/target/surefire-reports
>  for the individual test results.
> [JENKINS] Recording test results {code}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to