'Getting Deployment error in weblogic 12c(12.2.1.4) for my application using CXFNonSpringJaxrsServlet Jax-rs 3.1.4 version

After upgrading a JAX-RS service built with CXF3.1.4 from weblogic 11g to 12c (12.2.1.4) I am facing the following weird issue.

A MultiException has 1 exceptions. They are:

  1. java.lang.NoClassDefFoundError: Could not initialize class org.glassfish.jersey.media.sse.SseFeature

     at org.jvnet.hk2.internal.Utilities.justCreate(Utilities.java:1085)
     at org.jvnet.hk2.internal.ServiceLocatorImpl.create(ServiceLocatorImpl.java:978)
     at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:1082)
     at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:1074)
     at org.glassfish.jersey.model.internal.CommonConfig.configureFeatures(CommonConfig.java:711)
     at org.glassfish.jersey.model.internal.CommonConfig.configureMetaProviders(CommonConfig.java:648)
     at org.glassfish.jersey.server.ResourceConfig.configureMetaProviders(ResourceConfig.java:829)
     at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:453)
     at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:184)
     at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:350)
     at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:347)
     at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
     at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
     at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:255)
     at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:347)
     at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:392)
     at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177)
     at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369)
     at javax.servlet.GenericServlet.init(GenericServlet.java:244)
     at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:356)
     at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:307)
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:344)
     at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
     at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
     at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
     at weblogic.servlet.internal.StubSecurityHelper.initServletInstance(StubSecurityHelper.java:99)
     at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:87)
     at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:74)
     at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:57)
     at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:31)
     at weblogic.servlet.internal.ServletStubImpl.initStubLifecycleHelper(ServletStubImpl.java:676)
     at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:615)
     at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2072)
     at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:2049)
     at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1938)
     at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3191)
     at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1864)
     at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:919)
     at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:360)
     at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:356)
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
     at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:138)
     at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
     at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:233)
     at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:228)
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
     at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:78)
     at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:52)
     at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:752)
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
     at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:262)
     at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:66)
     at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)
     at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:90)
     at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:631)
     at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:171)
     at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:121)
     at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:151)
     at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:348)
     at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:907)
     at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1468)
     at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:459)
     at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:181)
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:217)
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:14)
     at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:69)
     at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:681)
     at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
     at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
     at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
     at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
     at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:655)
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)
    

My Weblogic.xml file :

<wls:container-descriptor>
   <wls:prefer-web-inf-classes>false</wls:prefer-web-inf-classes>
     <wls:prefer-application-packages>              
     <wls:package-name>javax.ws.rs.*</wls:package-name>
     <wls:package-name>org.glassfish.jersey.*</wls:package-name>
     <wls:package-name>com.fasterxml.jackson.*</wls:package-name>
     </wls:prefer-application-packages>   
   <wls:show-archived-real-path-enabled>true</wls:show-archived-real-path-enabled>        
</wls:container-descriptor>     
  <wls:weblogic-version>12.2.1.4</wls:weblogic-version>

Weblogic-application.xml :

<wls:prefer-application-packages>
<wls:package-name>nu.xom.*</wls:package-name>
<wls:package-name>javax.ws.rs.*</wls:package-name>
<wls:package-name>com.fasterxml.jackson.*</wls:package-name>
<wls:package-name>weblogic.jaxrs.api.client.*</wls:package-name>
<wls:package-name>weblogic.jaxrs.internal.api.*</wls:package-name>
<wls:package-name>weblogic.jaxrs.dispatch.*</wls:package-name>
<wls:package-name>weblogic.jaxrs.monitoring.util.*</wls:package-name>
</wls:prefer-application-packages>


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source