Hi folks,

I have a project using Glassfish 6.2.5 (Jakarta EE 9.1) and Apache CXF 4.0.4.  
When I attempt to deploy the application, I’m getting the following error:

remote failure: Error occurred during deployment: Exception while deploying the 
app [qbcde] : class jdk.proxy36.$Proxy186 cannot be cast to class 
jakarta.annotation.Resource (jdk.proxy36.$Proxy186 is in module jdk.proxy36 of 
loader org.glassfish.web.loader.WebappClassLoader @cc68ea9; 
jakarta.annotation.Resource is in unnamed module of loader 
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader @44a664f2). 
Related annotation information: annotation 
[@jakarta.annotation.Resource(shareable=true, lookup="", name="", 
description="", authenticationType=CONTAINER, type=java.lang.Object.class, 
mappedName="")] on annotated element [public final void 
org.apache.cxf.wsdl11.WSDLManagerImpl.setBus(org.apache.cxf.Bus)] of type 
[METHOD].

Which seems to suggest an incompatibility between the class being used by the 
container to set the CXF bus, and the annotation type which has been migrated 
to the jakarta namespace, or something along those lines.  To my eyes, the CXF 
dependencies are acting as expected, as the Resource annotation should indeed 
be in the jakarta namespace.  I wonder if anyone has run into this issue 
before, or have specific recommendations for troubleshooting, etc.  I’ve 
bounced around some stackoverflow threads like 
https://stackoverflow.com/questions/65247642/class-myclass-cannot-be-cast-to-class-myclass-myclass-is-in-unnamed-module-of-l
 but have been unable to identify a fix. My understanding from the available 
documentation (https://cxf.apache.org/docs/40-migration-guide.html) is that 
these should be compatible. 
 Thanks for any info you can provide. 

Scott Kirby
Interoperability Development Lead
SV Clinical Data Exchange
PCC - Physicians Computer Company
802-846-8177
[email protected]

Reply via email to