[ 
https://issues.apache.org/jira/browse/ARIES-159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jeremy Hughes closed ARIES-159.
-------------------------------


> NoClassDefFoundError in Blueprint looking for 
> org.apache.aries.application.filesystem.IDirectory
> ------------------------------------------------------------------------------------------------
>
>                 Key: ARIES-159
>                 URL: https://issues.apache.org/jira/browse/ARIES-159
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>            Reporter: Jeremy Hughes
>            Assignee: Valentin Mahrwald
>
> A bean in a blueprint bundle that consumes the AriesApplicationManager 
> service that uses createApplication(URL) but not 
> createApplication(IDirectory) doesn't need an import-package header for 
> org.apache.aries.application.filesystem (where the IDirectory class resides) 
> and indeed bnd (maven-bundle-plugin) doesn't create one. The BP impl creates 
> a proxy to the service and in doing so tries to load IDirectory - I suspect 
> it is using the client bundle's classloader to create the proxy rather than 
> the classloader of the bundle providing the interface.
> I get:
> [pool-1-thread-1] ERROR 
> org.apache.aries.blueprint.container.BlueprintContainerImpl - Unable to start 
> blueprint container for bundle org.apache.aries.application.itests.minimports
> org.osgi.service.blueprint.container.ComponentDefinitionException: 
> java.lang.NoClassDefFoundError: 
> org.apache.aries.application.filesystem.IDirectory
>       at 
> org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:98)
>       at 
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)
>       at 
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:212)
>       at 
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:140)
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:606)
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:313)
>       at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:212)
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:453)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:315)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:150)
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:736)
> Caused by: java.lang.NoClassDefFoundError: 
> org.apache.aries.application.filesystem.IDirectory
>       at $Proxy12.<clinit>(Unknown Source)
>       at java.lang.J9VMInternals.initializeImpl(Native Method)
>       at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:44)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:516)
>       at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:589)
>       at 
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe$JdkProxyFactory.createProxy(AbstractServiceReferenceRecipe.java:558)
>       at 
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.createProxy(AbstractServiceReferenceRecipe.java:243)
>       at 
> org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:82)
>       ... 14 more
> I'll check in a disabled test case

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to