Upgrading from TomeEE 8 to TomEE 9 -> java.lang.NoClassDefFoundError: jakarta/management/Notification
| Newsgroups | gmane.comp.java.openejb.user |
|---|---|
| Message-ID | <trinity-feffd383-acd5-4fa7-9bc6-de742622774f-1689174890305__10185.939299275$1689174908$gmane$org@3c-app-webde-bap05> |
Hi guys,
I'm updating our project from TomEE 8 to TomEE 9.
It compiles but our test framework is unhappy during runtime.
There is some magic which I don't understand in detail.
First we tell the EJBContainer to use deltaspike:
System.setProperty("openejb.deployments.classpath.include", ".*deltaspike.*");
The the EJBContainer will be created.
ejbContainer = jakarta.ejb.embeddable.EJBContainer.createEJBContainer();
When checking the module deltaspike-core-impl-1.9.6 which is in the classpath an excpetion will be thrown.
jakarta.ejb.EJBException: No EJBContainer provider available
Provider named org.apache.openejb.OpenEjbContainer$Provider threw unexpected exception at create EJBContainer:
java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: jakarta/management/Notification
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3402)
at java.base/java.lang.Class.getDeclaredMethods(Class.java:2504)
at org.apache.xbean.finder.AnnotationFinder.readClassDef(AnnotationFinder.java:1203)
at org.apache.xbean.finder.AnnotationFinder.linkInterfaces(AnnotationFinder.java:440)
at org.apache.xbean.finder.AnnotationFinder.enableFindImplementations(AnnotationFinder.java:254)
[...]
Caused by: java.lang.ClassNotFoundException: jakarta.management.Notification
at org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.java:186)
at org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.java:83)
... 93 more
The following providers:
org.apache.tomee.embedded.EmbeddedTomEEContainer$EmbeddedTomEEContainerProvider
Returned null from createEJBContainer call.
My understanding is this class jakarta.management.Notification is not existing. It should be still javax.management.Notification.
def deltaSpikeVersion = '1.9.6'
testImplementation 'org.apache.tomee:tomee-embedded:9.1.0'
testImplementation 'org.apache.deltaspike.cdictrl:deltaspike-cdictrl-api:' + deltaSpikeVersion
// testImplementation 'org.apache.deltaspike.cdictrl:deltaspike-cdictrl-owb:' + deltaSpikeVersion
testImplementation 'org.apache.deltaspike.cdictrl:deltaspike-cdictrl-owb:' + deltaSpikeVersion + ':jakarta'
testImplementation 'org.apache.deltaspike.core:deltaspike-core-api:' + deltaSpikeVersion
testImplementation 'org.apache.deltaspike.core:deltaspike-core-impl:' + deltaSpikeVersion
// testImplementation 'org.apache.deltaspike.modules:deltaspike-servlet-module-api:' + deltaSpikeVersion
testImplementation 'org.apache.deltaspike.modules:deltaspike-servlet-module-api:' + deltaSpikeVersion + ':jakarta'
// testImplementation 'org.apache.deltaspike.modules:deltaspike-servlet-module-impl:' + deltaSpikeVersion
testImplementation 'org.apache.deltaspike.modules:deltaspike-servlet-module-impl:' + deltaSpikeVersion + ':jakarta'
testImplementation 'org.apache.deltaspike.test:test-utils:' + deltaSpikeVersion
Does anybody have an idea what I can do?
Thanks,
Markus