[ 
https://issues.apache.org/jira/browse/CXF-8176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Richard O'Sullivan updated CXF-8176:
------------------------------------
    Description: 
I have a WAR containing cxf-integration-cdi-3.2.1.jar that I deploy to Tomcat 
V9, successfully. When I deploy a WAR containing cxf-integration-cdi-3.2.7.jar, 
it fails to deploy because:
{quote}org.jboss.weld.exceptions.WeldException: WELD-001524: Unable to load 
proxy class for bean org.apache.cxf.cdi.ContextProducerBean@28c30f4d with class 
class java.lang.Object using classloader java.net.URLClassLoader@695caf9f
{quote}
My WAR includes the Weld v2.4.6 jars.

Note: The ContextProducerBean class was introduced in CXF v3.2.2. 

Others on the web, have reported a similar issue:
 * 
[https://stackoverflow.com/questions/56905194/class-not-found-in-war-but-is-available]
 * [https://t.codebug.vip/questions-112783.htm]

 I'm suspicious that there is no scope modifier on the constructor in the 
ContextProducerBean class; thus, causing the scope to default to 'package 
private' and become hidden from Tomcat's class loader. Also, the super class, 
AbstractCXFBean<Object> does not declare a scope either. The fix might be to 
add the 'public' modifier to both, just guessing.

  was:
I have a WAR containing cxf-integration-cdi-3.2.1.jar that I deploy to Tomcat 
V9, successfully. When I deploy a WAR containing cxf-integration-cdi-3.2.7.jar 
=, it fails to deploy caused by:
{quote}org.jboss.weld.exceptions.WeldException: WELD-001524: Unable to load 
proxy class for bean org.apache.cxf.cdi.ContextProducerBean@28c30f4d with class 
class java.lang.Object using classloader java.net.URLClassLoader@695caf9f
{quote}
The ContextProducerBean class was introduced in v3.2.2. I am using Weld v2.4.6.

Others on the web, have reported a similar issue:
 * 
[https://stackoverflow.com/questions/56905194/class-not-found-in-war-but-is-available]
 * [https://t.codebug.vip/questions-112783.htm]

 

I'm suspicious that there is no scope modifier on the constructor in the 
ContextProducerBean class; thus, causing the scope to default to 'package 
private' and be hidden from Tomcat's classloader. Also, the super class, 
AbstractCXFBean<Object> does not declare a scope either. The fix might be to 
add the 'public' modifier, just guessing.


> Apache CXF @Context not class loading.
> --------------------------------------
>
>                 Key: CXF-8176
>                 URL: https://issues.apache.org/jira/browse/CXF-8176
>             Project: CXF
>          Issue Type: Bug
>          Components: Integration
>    Affects Versions: 3.2.2
>            Reporter: Richard O'Sullivan
>            Priority: Major
>         Attachments: CXF-ContentProducerBean-Fail-to-Load-Stacktrace.txt
>
>
> I have a WAR containing cxf-integration-cdi-3.2.1.jar that I deploy to Tomcat 
> V9, successfully. When I deploy a WAR containing 
> cxf-integration-cdi-3.2.7.jar, it fails to deploy because:
> {quote}org.jboss.weld.exceptions.WeldException: WELD-001524: Unable to load 
> proxy class for bean org.apache.cxf.cdi.ContextProducerBean@28c30f4d with 
> class class java.lang.Object using classloader 
> java.net.URLClassLoader@695caf9f
> {quote}
> My WAR includes the Weld v2.4.6 jars.
> Note: The ContextProducerBean class was introduced in CXF v3.2.2. 
> Others on the web, have reported a similar issue:
>  * 
> [https://stackoverflow.com/questions/56905194/class-not-found-in-war-but-is-available]
>  * [https://t.codebug.vip/questions-112783.htm]
>  I'm suspicious that there is no scope modifier on the constructor in the 
> ContextProducerBean class; thus, causing the scope to default to 'package 
> private' and become hidden from Tomcat's class loader. Also, the super class, 
> AbstractCXFBean<Object> does not declare a scope either. The fix might be to 
> add the 'public' modifier to both, just guessing.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to