title: How to add proprietary Apache CXF features to Open Liberty
body: <p>I'd like to use a proprietary Apache CXF feature (Multipart handling for file upload), which is not covered in the JAX-RS 2.1 spec. Adding the following dependency to my Jakarta EE 8 project results in weird internal Apache CXF NPEs:</p>
  
  <pre><code>&lt;dependency&gt;
    &lt;groupId&gt;org.apache.cxf&lt;/groupId&gt;
    &lt;artifactId&gt;cxf-rt-frontend-jaxrs&lt;/artifactId&gt;
    &lt;version&gt;3.3.4&lt;/version&gt;
  &lt;/dependency&gt;
  </code></pre>
  
  <p>Errors:</p>
  
  <pre><code>[INFO] java.lang.NullPointerException
  [INFO] [WARNING ] Exception in handleFault on interceptor org.apache.cxf.jaxrs.interceptor.JAXRSDefaultFaultOutInterceptor@5e2be3a2
  [INFO] org.apache.cxf.interceptor.Fault
  [INFO] [ERROR   ] An unexpected error occurred during error handling. No further error processing will occur.
  [INFO] org.apache.cxf.interceptor.Fault
  [INFO] [ERROR   ] SRVE0777E: Exception thrown by application class 'org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor.filter:64'
  [INFO] java.lang.NullPointerException
  [INFO]  at org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor.filter(JAXRSBeanValidationInInterceptor.java:64)
  [INFO]  at [internal classes]
  [INFO] 
  [INFO] [ERROR   ] SRVE0315E: An exception occurred: java.lang.Throwable: java.lang.NullPointerException
  [INFO]  at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:5075)
  [INFO]  at [internal classes]
  [INFO] Caused by: java.lang.NullPointerException
  [INFO]  at org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor.filter(JAXRSBeanValidationInInterceptor.java:64)
  [INFO]  ... 1 more
  </code></pre>
  
  <p>My understandings from my research for this problem are, that the application can't access the internal CXF code, so the scope <code>provided</code> won't work and with my current solution (shipping the extension with the <code>.war</code> file) it leads to classloader problems.</p>
  
  <p>I'm running on Open Liberty 19.0.0.12 and JDK 11</p>