cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ivo Leitão (JIRA) <>
Subject [jira] [Commented] (DOSGI-259) java.lang.NoClassDefFoundError when updating Implementation bundle
Date Sun, 12 Mar 2017 23:13:04 GMT


Ivo Leitão commented on DOSGI-259:

Just to give some update I tried without naked dto's and the result is the same.
It seems that when the method org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContextSetterMethods(
is executed the class is missing

> java.lang.NoClassDefFoundError when updating Implementation bundle
> ------------------------------------------------------------------
>                 Key: DOSGI-259
>                 URL:
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>          Components: provider-rs
>    Affects Versions: 2.1.0
>         Environment: Debian Linux
>            Reporter: Ivo Leitão
> Good Morning,
> I've created a simple service to test the capabilities of the cxf implementation of dosgi.
This service retrieves data from a soap service and publishes it as a rest service via DOSGI.
> Currently  I have an API bundle with
> Require-Capability: \
> 	compile-only
> which houses the interfaces and the DTO's (naked DTO's per description of Peter Kriens
> In the implementation bundle which exports the API I have a simple implementation of
the service. All works well except the redeployment of the bundle. I'm using apache karaf
(4.1) and a sling plugin (
to easily redeploy the bundles in a running karaf instance from maven (I don't think its related).
Every time I redeploy the implementation bundle I'm seeing the error bellow.
> It works despite this error but it seems that bundle redeployment is not correctly handled.
I've tried also with an explicit deployment of the API and Implementation bundle and I have
the same problem in the implementation bundle upon redeployment
> Exception in thread "pool-33-thread-3" java.lang.NoClassDefFoundError: com/acme/platform/samples/modules/geoip/api/dto/ResolvedCountryDTO
> 	at java.lang.Class.getDeclaredMethods0(Native Method)
> 	at java.lang.Class.privateGetDeclaredMethods(
> 	at java.lang.Class.privateGetPublicMethods(
> 	at java.lang.Class.getMethods(
> 	at org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContextSetterMethods(
> 	at org.apache.cxf.jaxrs.model.AbstractResourceInfo.findContexts(
> 	at org.apache.cxf.jaxrs.model.AbstractResourceInfo.<init>(
> 	at org.apache.cxf.jaxrs.model.AbstractResourceInfo.<init>(
> 	at org.apache.cxf.jaxrs.model.BeanResourceInfo.<init>(
> 	at org.apache.cxf.jaxrs.model.ClassResourceInfo.<init>(
> 	at org.apache.cxf.jaxrs.utils.ResourceUtils.createClassResourceInfo(
> 	at org.apache.cxf.jaxrs.utils.ResourceUtils.createClassResourceInfo(
> 	at org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.createResourceInfo(
> 	at org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.setResourceClasses(
> 	at org.apache.cxf.jaxrs.JAXRSServiceFactoryBean.setResourceClasses(
> 	at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.setServiceClass(
> 	at
> 	at
> 	at org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(
> 	at org.apache.aries.rsa.core.RemoteServiceAdminCore.exportService(
> 	at org.apache.aries.rsa.core.RemoteServiceAdminInstance$
> 	at org.apache.aries.rsa.core.RemoteServiceAdminInstance$
> 	at Method)
> 	at org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(
> 	at org.apache.aries.rsa.core.RemoteServiceAdminInstance.exportService(
> 	at org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.exportServiceUsingRemoteServiceAdmin(
> 	at org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.doExport(
> 	at org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport.access$000(
> 	at org.apache.aries.rsa.topologymanager.exporter.TopologyManagerExport$
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(
> 	at java.util.concurrent.ThreadPoolExecutor$
> 	at
> Caused by: java.lang.ClassNotFoundException: Unable to load class 'com.acme.platform.samples.modules.geoip.api.dto.ResolvedCountryDTO'
because the bundle wiring for com.celfocus.platform.samples.modules.geoip-ri is no longer
> 	at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(
> 	at org.apache.felix.framework.BundleWiringImpl.access$400(
> 	at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(
> 	at java.lang.ClassLoader.loadClass(
> 	... 32 more 

This message was sent by Atlassian JIRA

View raw message