WELD-001524: Unable to load proxy class for bean org.apache.cxf.cdi.ContextProducerBean

83 Views Asked by At

I am migrating Java web service from Java 8 to Jdk- 21. I was able to migrate everything but I have a problem with "cxf-integration-cdi.jar". I have weld-shaded.jar in my "WEB-INF\lib" folder. Failed to start my web service. Runtime exception occurs.

Before migration beans.xml was as below:

    <!DOCTYPE xml>
   <beans
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:weld="http://jboss.org/schema/weld/beans"
    xsi:schemaLocation="
        http://java.sun.com/xml/ns/javaee http://jboss.org/schema/cdi/beans_1_0.xsd
        http://jboss.org/schema/weld/beans https://www.jboss.org/schema/weld/beans_1_1.xsd"    >
    <weld:scan>
        <weld:exclude name="org.apache.cxf.**" />
    </weld:scan>
    </beans>

During my migration I changed beans.xml to :

    <!DOCTYPE xml>
    <beans 
    xmlns="https://jakarta.ee/xml/ns/jakartaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd" 
    bean-discovery-mode="all">
     <scan>
        <exclude name="org.apache.cxf.**" />
    </scan>
   </beans>

Exclusion is not happening and I get below error:

**Caused by: org.jboss.weld.exceptions.WeldException: WELD-001524: Unable to load proxy class for bean org.apache.cxf.cdi.ContextProducerBean@55c3f32 with class class java.lang.Object**
    at org.jboss.weld.bean.proxy.ProxyFactory.getProxyClass(ProxyFactory.java:409)
    at org.jboss.weld.bean.proxy.ProxyFactory.run(ProxyFactory.java:360)
    at org.jboss.weld.bean.proxy.ProxyFactory.create(ProxyFactory.java:352)
    at org.jboss.weld.bean.proxy.ClientProxyFactory.create(ClientProxyFactory.java:83)
    at org.jboss.weld.bean.proxy.ClientProxyProvider.createClientProxy(ClientProxyProvider.java:205)
    at org.jboss.weld.bean.proxy.ClientProxyProvider.createClientProxy(ClientProxyProvider.java:195)
    at org.jboss.weld.bean.proxy.ClientProxyProvider$CreateClientProxy.apply(ClientProxyProvider.java:52)
    at org.jboss.weld.bean.proxy.ClientProxyProvider$CreateClientProxy.apply(ClientProxyProvider.java:48)
    at org.jboss.weld.util.cache.ReentrantMapBackedComputingCache.lambda$new$0(ReentrantMapBackedComputingCache.java:55)
    at org.jboss.weld.util.LazyValueHolder$1.computeValue(LazyValueHolder.java:32)
    at org.jboss.weld.util.LazyValueHolder.get(LazyValueHolder.java:46)
    at org.jboss.weld.util.cache.ReentrantMapBackedComputingCache.getValue(ReentrantMapBackedComputingCache.java:72)
    at org.jboss.weld.util.cache.ReentrantMapBackedComputingCache.getCastValue(ReentrantMapBackedComputingCache.java:78)
    at org.jboss.weld.bean.proxy.ClientProxyProvider.getClientProxy(ClientProxyProvider.java:229)
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:669)
    at org.jboss.weld.manager.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:775)
    at org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:92)
    at org.jboss.weld.util.Beans.injectBoundFields(Beans.java:345)
    at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:356)
    at org.jboss.weld.injection.producer.ResourceInjector$1.proceed(ResourceInjector.java:69)
    at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48)
    at org.jboss.weld.injection.producer.ResourceInjector.inject(ResourceInjector.java:71)
    at org.jboss.weld.injection.producer.BasicInjectionTarget.inject(BasicInjectionTarget.java:117)
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:161)
    at org.jboss.weld.contexts.unbound.DependentContextImpl.get(DependentContextImpl.java:64)
    at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:100)
    at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:675)
    at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:698)
    at org.jboss.weld.util.ForwardingBeanManager.getReference(ForwardingBeanManager.java:63)
    at org.jboss.weld.bean.builtin.BeanManagerProxy.getReference(BeanManagerProxy.java:87)
    at **org.apache.cxf.cdi.JAXRSCdiResourceExtension.loadBeans(JAXRSCdiResourceExtension.java:490)
    at org.apache.cxf.cdi.JAXRSCdiResourceExtension.loadProviders(JAXRSCdiResourceExtension.java:463)
    at org.apache.cxf.cdi.JAXRSCdiResourceExtension.load(JAXRSCdiResourceExtension.java:253)**
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
    at org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:187)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)
    at org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:126)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)
    at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)
    at jakarta.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:142)
    at org.jboss.weld.util.Observers.notify(Observers.java:166)
    at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:285)
    at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:273)
    at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:177)
    at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:171)
    at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53)
    at org.jboss.weld.bootstrap.events.AbstractDeploymentContainerEvent.fire(AbstractDeploymentContainerEvent.java:35)
    ... 32 more

"org.apache.cxf.cdi.ContextProducerBean" this class is in my cxf-cdi-integration.jar file. I have needed jars in my Build Path as well.

How should I fix this?

0

There are 0 best solutions below