Reputation: 21
I am attempting to upgrade Apache TomEE from version 9.0.0-M8 to a higher version (first to 9.1.3, then to 10.0.0), but I keep encountering deployment failures. The server starts, but the application throws a NoClassDefFoundError, indicating missing Jakarta-EE dependencies.
Project Setup:
Error message (shortened & anonymized):
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.apache.openejb.util.proxy.ClassDefiner.defineClassClassLoader(ClassDefiner.java:98)
at org.apache.openejb.util.proxy.ClassDefiner.defineClass(ClassDefiner.java:83)
at org.apache.webbeans.proxy.NormalScopeProxyFactory.createProxyClass(NormalScopeProxyFactory.java:264)
at org.apache.webbeans.proxy.NormalScopeProxyFactory.createNormalScopeProxy(NormalScopeProxyFactory.java:149)
at org.apache.webbeans.container.BeanManagerImpl.getReference(BeanManagerImpl.java:801)
at org.apache.webbeans.portable.InjectionTargetImpl.injectFields(InjectionTargetImpl.java:234)
...
Caused by: java.lang.NoClassDefFoundError: org/apache/webbeans/proxy/OwbNormalScopeProxy
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
...
Caused by: java.lang.ClassNotFoundException: org.apache.webbeans.proxy.OwbNormalScopeProxy
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
Additionally, the deployment log shows errors related to Singleton Beans failing to initialize, particularly for EJBs:
jakarta.ejb.NoSuchEJBException: Singleton failed to initialize
Attempts & Results:
Direct upgrade from TomEE 9.0.0 → 9.1.3 / 10.0.0
Updated Jakarta EE dependencies in pom.xml (to match TomEE 9.1.3 / 10.0.0)
Clean rebuild using mvn clean install & tomee-maven-plugin update
Checked lib/ dependencies between TomEE versions
Questions Is this a known issue when upgrading from TomEE 9.0.0 to 9.1.3 or 10.0.0? Were there any breaking changes in OpenEJB/OpenWebBeans between TomEE 9.0.0 and 9.1.3+ that could cause this? What is the recommended migration strategy for existing TomEE 9 projects? Does TomEE 10 require full Jakarta EE 10 compatibility for a successful upgrade? How can I ensure that all Jakarta EE dependencies are resolved correctly when upgrading?
Upvotes: 1
Views: 47