KindOfTrue
KindOfTrue

Reputation: 21

Upgrading from Apache TomEE 9.0.0-M8 to 9.1.3/10.0.0 fails with NoClassDefFoundError (OwbNormalScopeProxy) and missing Jakarta EE dependencies

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:

  1. Direct upgrade from TomEE 9.0.0 → 9.1.3 / 10.0.0

    • The server starts, but the application fails with NoClassDefFoundError for org.apache.webbeans.proxy.OwbNormalScopeProxy.
  2. Updated Jakarta EE dependencies in pom.xml (to match TomEE 9.1.3 / 10.0.0)

    • No success, still NoClassDefFoundError.
    • Some JNDI resources fail to resolve properly.
  3. Clean rebuild using mvn clean install & tomee-maven-plugin update

    • No improvement, same deployment failure.
  4. Checked lib/ dependencies between TomEE versions

    • Compared webbeans-*.jar files in TomEE 9.0.0 and 9.1.3+
    • Manually replacing WebBeans libraries did not resolve the issue.

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

Answers (0)

Related Questions