-
Bug
-
Resolution: Done
-
Blocker
-
7.8.0.GA
Unit tests for Process Instance Migration service fail to execute because the Expression Language API is missing at runtime in the productized build. However, the same tests pass in community. This is the exception thrown in the tests:
04:19:20 [INFO] [ERROR] testSubmitFailed(org.kie.processmigration.service.MigrationServiceImplTest) Time elapsed: 0.003 s <<< ERROR! 04:19:20 [INFO] java.lang.NoClassDefFoundError: javax/el/ExpressionFactory 04:19:20 [INFO] at org.jboss.weld.bootstrap.WeldStartup.startContainer(WeldStartup.java:229) 04:19:20 [INFO] at org.jboss.weld.bootstrap.WeldBootstrap.startContainer(WeldBootstrap.java:69) 04:19:20 [INFO] at org.jboss.weld.environment.se.Weld.initialize(Weld.java:760) 04:19:20 [INFO] at org.jboss.weld.junit.AbstractWeldInitiator.initWeldContainer(AbstractWeldInitiator.java:495) 04:19:20 [INFO] at org.jboss.weld.junit4.WeldInitiator.access$300(WeldInitiator.java:90) 04:19:20 [INFO] at org.jboss.weld.junit4.WeldInitiator$1.evaluate(WeldInitiator.java:226) 04:19:20 [INFO] at org.junit.rules.RunRules.evaluate(RunRules.java:20) 04:19:20 [INFO] at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 04:19:20 [INFO] at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 04:19:20 [INFO] at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 04:19:20 [INFO] at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 04:19:20 [INFO] at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 04:19:20 [INFO] at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 04:19:20 [INFO] at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 04:19:20 [INFO] at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 04:19:20 [INFO] at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 04:19:20 [INFO] at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365) 04:19:20 [INFO] at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273) 04:19:20 [INFO] at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238) 04:19:20 [INFO] at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159) 04:19:20 [INFO] at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) 04:19:20 [INFO] at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) 04:19:20 [INFO] at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) 04:19:20 [INFO] at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) 04:19:20 [INFO] Caused by: java.lang.ClassNotFoundException: javax.el.ExpressionFactory 04:19:20 [INFO] at java.net.URLClassLoader.findClass(URLClassLoader.java:382) 04:19:20 [INFO] at java.lang.ClassLoader.loadClass(ClassLoader.java:419) 04:19:20 [INFO] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) 04:19:20 [INFO] at java.lang.ClassLoader.loadClass(ClassLoader.java:352) 04:19:20 [INFO] ... 24 more
The root cause are different versions of Thorntail dependencies between community and productized artifacts.
The version of Thorntail we use in productized builds - 2.5.1.Final-redhat-000010 - is still based on EAP 7.2.x
In community, we already use 2.7.0.Final which is aligned with 7.3.x.
And in community, the javax.el.ExpressionFactory class is present in org.glassfish:jakarta.el:jar:3.0.2 which comes from io.thorntail:ee:jar:2.7.0.Final which comes from io.thorntail:jpa:jar:2.7.0.Final. This jakarta.el artifact contains both impl and api.
But for the productized build io.thorntail:jpa:jar:2.5.1.Final-redhat-00010 doesn't bring transitively the el dependency, just its implementation org.glassfish:javax.el-impl:jar:3.0.1.b08-redhat-00003 which doesn't have the API (class javax.el.ExpressionFactory).
So either we upgrade or we will manually add there a dependency.
- incorporates
-
RHPAM-3042 PIM Image is not started due unsatisfied dependencies
- Closed