ClassNotFoundException: org.glassfish.jersey.internal.RuntimeDelegateImpl cannot be found in the OSGi package that has built-in cxf dependencies

This refers to jax-rs-2-0-change-default-implementation I have an OSGi package that consists of cxf 2.7.8 as well as openejb. The cxf dependencies are added as inline dependencies.

When I try to deploy a webapp I get the following exception. When I set the system property when starting the server as -Djavax.ws.rs.ext.RuntimeDelegate=org.apache.cxf.jaxrs.impl.RuntimeDelegateImpl

, it can be solved.

But the link above says that when I have a file META-INF/services/javax.ws.rs.ext.RuntimeDelegate

with content org.apache.cxf.jaxrs.impl.RuntimeDelegateImpl

it can be resolved.

In my OSGi package, this file exists in cxf-rt-frontend-jaxrs-2.7.8.jar

But this jar is built into the OSGi package, it doesn't seem to get the right choice. I tried adding the same file to the OSGi package META-INF/services

but it didn't work either.

Can anyone tell me if there is a way to get rid of this without manually setting a system property?

java.lang.ExceptionInInitializerError at java.lang.Class.forName0 (Native Method) at java.lang.Class.forName (Class.java:191) at com.sun.proxy. $ Proxy89. (Unknown source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native method) at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:57) at sun.reflectorccessImatingConstructorAccessorImpl.newInstance. .reflect.Constructor.newInstance (Constructor.java:526) at java.lang.reflect.Proxy.newInstance (Proxy.java:764) at java.lang.reflect.Proxy.newProxyInstance (Proxy.java:755) at org. apache.openejb.server.cxf.rs.CxfRSService $ ContextBean. (CxfRSService.java:192) at org.apache.openejb.server.cxf.rs.CxfRSService.contextCDIIntegration (CxfRSService.java:111) at org.apache.openejb.server.cxf.rs.CxfRSService.integrateCDIAndJaxRsInjections (CxfRSService.java:100) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57 43) at java.lang.reflect.Method.invoke (Method.java:606) at org.apache.openejb.observer.ObserverManager $ MethodInvocation.invoke (ObserverManager.java:400) at org.apache.openejb.observer.ObserverManager .doFire (ObserverManager.java:111) at org.apache.openejb.observer.ObserverManager.fireEvent (ObserverManager.java:100) at org.apache.openejb.loader.SystemInstance.fireEvent (SystemInstance.java:134) at apache.openejb.cdi.ThreadSingletonServiceImpl.initialize (ThreadSingletonServiceImpl.java:150) at org.apache.openejb.cdi.CdiBuilder.build (CdiBuilder.java: 41) at org.apache.openejb.assembler.classic.Assembler.createApplication (Assembler.java:838) at org.apache.openejb.assembler.classic.Assembler.createApplication (Assembler.java:644) at org.apache .tomee.catalina.TomcatWebAppBuilder.startInternal (TomcatWebAppBuilder.java:1250) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke.invoke (NativeMethodava:57) Sun. (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:606) at org.wso2.carbon.javaee.tomee.ASTomcatWebAppBuilder.configure.Start (ASTomcatWebAppBuilder.configure.Start (ASTomcatWebAppBuilder) .java:127 tomee.catalina.GlobalListenerSupport.lifecycleEvent (GlobalListenerSupport.java:130) at org.wso2.carbon.javaee.tomee.ASGlobalListenerSupport.lifecycleEvent (ASGlobalListenerSupport.java:74) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent (LifecycleSupport.java:117) at org.apache.catalina.util.LifecycleBase.fireLifecycle.jvent (LifeapacheBase) .catalina.core.StandardContext.startInternal (StandardContext.java:5412) at org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java : 901) at org.apache.catalina.core.ContainerBase.addChild (ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild (StandardHost.java:649) at org.wso2.carbon.tomcat. internal.CarbonTomcat.addWebApp (CarbonTomcat.java:345) at org.wso2.carbon.tomcat.internal.CarbonTomcat.addWebApp (CarbonTomcat.java:190) at org.wso2.carbon.webapp.mgt.TomcatGenericWebapps.handleWebappDeployment (TomcatGenericWebappsDeployer.java:257) in org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.handleWarWebappDeployment (TomcatGenericWebappsDeployer.java:207) in org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.handleHotDeployment (TomcatGenericWebappsDeployer.java:174) at org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.deploy (TomcatGenericWebappsDeployer.java:139) at org.wso2.carbon.webapp.mgt.AbstractWebappDeployer.deployThisWebAppDeployer.deployer.deploy .mgt.AbstractWebappDeployer.deploy (AbstractWebappDeployer.java:111) at org.wso2.carbon.webapp.deployer.WebappDeployer.deploy (WebappDeployer.java:42) at org.apache.axis2.deployment.reployment (DeploymentFileData.java:136) in org.apache.axis2.deployment.DeploymentEngine.doDeploy (DeploymentEngine.Java: 807) at org.apache.axis2.deployment.repository.util.WSInfoList.update (WSInfoList.java:144) at org.apache.axis2.deployment.RepositoryListener.update (RepositoryListener.update) at org.apache.axis2.deployment.RepositoryListener.checkServices (RepositoryListener.java:254) at org.apache.axis2.deployment.DeploymentEngine.loadServices (DeploymentEngine.java:135) at org.wso2.carbonx.core.Clorator (CarbonAxisConfigurator.java:567) at org.wso2.carbon.core.internal.DeploymentServerStartupObserver.completingServerStartup (DeploymentServerStartupObserver.java:51) at org.wso2.carbon.core.internal.CarbonCarbonerviceComponent org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.completeInitialization (StartupFinalizerServiceComponent.java:185) at org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.serviceChanged (StartupFinalizerServiceComponent.java:288) at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged (FilteredServiceListener.serviceChanged (FilteredServiceListener) .framework.internal.core.BundleContextImpl.dispatchEvent (BundleContextImpl.java:861) in org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent (EventManager.java:230) in org.eclipse.osgi.frameworkerventmg .dispatchEventSynchronous (ListenerQueue.java:148) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged (ServiceRegistry.java:819) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry. ) to org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register (ServiceRegistrationImpl.java:130) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService (ServiceRegistry.java:214) at org.eclipse.osgi.framework.internalcore.BundleContextImpl.registerService (BundleContextImpl 433) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService (BundleContextImpl.java:451) at org.wso2.carbon.throttling.agent.internal.ThrottlingAgentServiceComponent.registerThrottlingAgent3 .wso2.carbon.throttling.agent.internal.ThrottlingAgentServiceComponent.activate (ThrottlingAgentServiceComponent.java:100) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorccess (57) at sun.reflect.NativeMethodAvaccess (57) at sun.reflect.NativeMethodAvaccess (57) at sun.reflect.NativeMethodAccessorccess (57) at sun.reflect.NativeMethodAccessorccess (57) .reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:606) at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate (ServiceComponent.java:260) at org .eclipse.equinox.internal.ds.model.ServiceComponentProp.activate (ServiceComponentProp.java:146) at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build (ServiceComponentProp.java:345) at org.eclipse.equinox .internal.ds.InstanceProcess.buildComponent (InstanceProcess.java:620) at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents (InstanceProcess.java:197) at org.eclipse.equinox.internal.ds.Resolver.getEligible (Resolver.java:343) at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged (SCRManager.java:222) at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged (FilteredServiceListener.java:107) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent (BundleContextImpl.java:861) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent (EventManager.java:230) at org.eclipse .osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous (ListenerQueue.java:148) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged (ServiceRegistry.java:819) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged (ServiceRegistry.java:819) at org.eclipse.osgi. .publishServiceEvent (ServiceRegistry.java:771) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register (ServiceRegistrationImpl.java:130) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService (ServiceRegistry14 ) in org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService (BundleContextImpl.java:433) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService (BundleContextImpl.java:451) at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon (CarbonServerManager.java.:517) .carbon.core.init.CarbonServerManager.start (CarbonServerManager.java:219) at org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate (CarbonCoreServiceComponent.java:91) at sun.reflect.NativeMethodAccess method at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43). in java.lang.reflect.Method.java60 (Method) eclipse.equinox.internal.ds.model.ServiceComponent.activate (ServiceComponent.java:260) at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate (ServiceComponentProp.java:146) at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build (ServiceComponentProp.java:345) at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent (InstanceProcess.java: 620) at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents (InstanceProcess.java:197) at org.eclipse.equinox.internal.ds.Resolver.getEligible (Resolver.java:343) at org.eclipse.equinox .internal.ds.SCRManager.serviceChanged (SCRManager.java:222) in org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged (FilteredServiceListener.java:107) in org.eclipse.osgi.framework.inteternal.xtxt .dispatchEvent (BundleContextImpl.java:861) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent (EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous (ListenerQueue.java:148) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged (ServiceRegistry.java:819) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.pubavisch. at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register (ServiceRegistrationImpl.java:130) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService (ServiceRegistry.java:214) at org.eclipse.osgi.framework .internal.core.BundleContextImpl.registerService (BundleContextImpl.java:433) at org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService (Activator.java:81) at org.eclipse.equinox.http.servlet.internal .Activator.addProxyServlet (Activator.java:60) in org.eclipse.equinox.http.servlet.internal.ProxyServlet.init (ProxyServlet.java:40) at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init (DelegationServlet.java:38) at org.apache.catalina.core.StandardWrapper.initServlet (StandardWrapper.java:1284) at org.apache.catalina.core.StandardWrapper.loadServlet (StandardWrapper.java:1197) at org.apache.catalina.core.StandardWrapper.load (StandardWrapper.java:1087) at org.apache.catalina.core.StandardContext.loadOnStartup (StandardContext.java:5262) ​​at org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5550) at org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) at org.apache. catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1575) at org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1565) at java.util.concurrent.FutureTask.run (FutureTask. java: 262) to java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:615) at java.lang.Thread.run (Thread.java:745) Called by: java.lang. RuntimeException: java.lang.ClassNotFoundException: org.glassfish.jersey.internal.RuntimeDelegateImpl could not be found tomee_1.7.2.SNAPSHOT_wso2v1 at javax.ws.rs.ext.RuntimeDelegate.findDelegate (RuntimeDelegate.findDelegate (RuntimeDelegate). rs.ext.RuntimeDelegate.getInstance (RuntimeDelegate.java:119) at javax.ws.rs.core.EntityTag. (EntityTag.java:56) ... 131 more Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.internal.RuntimeDelegateImpl could not be found tomee_1.7.2.SNAPSHOT_wso2v1 at org.eclipse.osgi.internal.loader.BundleLoader .findClassInternal (BundleLoader.java:501) in org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java:421) at org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java:412) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass (DefaultClass10Loader ).java at java.lang.ClassLoader.loadClass (ClassLoader.java:358) at java.lang.Class.forName0 (Native Method) at java.lang.Class.forName (Class.java:191) at javax.ws.rs.ext .FactoryFinder.newInstance (FactoryFinder.java:114) at javax.ws.rs.ext.FactoryFinder.find (FactoryFinder.java:207) at javax.ws.rs.ext.RuntimeDelegate.findDelegate (RuntimeDelegate.java:134). .. 133 moreClass.forName0 (Native Method) at java.lang.Class.forName (Class.java:191) at javax.ws.rs.ext.FactoryFinder.newInstance (FactoryFinder.java:114) at javax.ws.rs.ext. FactoryFinder.find (FactoryFinder.java:207) at javax.ws.rs.ext.RuntimeDelegate.findDelegate (RuntimeDelegate.java:134) ... 133 moreClass.forName0 (Native Method) at java.lang.Class.forName (Class.java:191) at javax.ws.rs.ext.FactoryFinder.newInstance (FactoryFinder.java:114) at javax.ws.rs.ext. FactoryFinder.find (FactoryFinder.java:207) at javax.ws.rs.ext.RuntimeDelegate.findDelegate (RuntimeDelegate.java:134) ... 133 more

+3


source to share


4 answers


The answer was found here: https://wso2.org/jira/browse/WSAS-1870

Basically you need to add a system property to set the default delegate:



javax.ws.rs.ext.RuntimeDelegate = org.apache.cxf.jaxrs.impl.RuntimeDelegateImpl

+7


source


If you are using

import javax.ws.rs.core.Response;



then add the following dependency to the 'pom.xml' file. This worked for me.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jersey</artifactId>
    <version>1.2.0.RELEASE</version>
</dependency>

      

+4


source


There was a similar issue with Spring Boot 2, Jersey and Eureka. I was able to get around by adding mkwyche's answer option:

-Djavax.ws.rs.ext.RuntimeDelegate=com.sun.ws.rs.ext.RuntimeDelegateImpl

      

+2


source


There was a similar problem with Jax-RS. To solve this problem, add this dependency to your pom.xml file:

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-server</artifactId>
    <version>1.8</version>
</dependency>

      

0


source







All Articles