Your Location is: Home > Eclipse-plugin

How to make a bundles package visible to another in KNIME plugin

From: Palestine View: 2072 goulpan 

Question

I am developing a KNIME plugin (called A) which depends on OSGI bundle B which in turn depends on OSGI bundle C. B and C bundles are external and their Manifest files cannot be modified. Bundle B imports a number of C's packages, say com.myname.rest.api.x, com.myname.rest.api.y BUT it doesnt import com.myname.rest.api. When I run my plugin I get the following error:

Execute failed: com.myname.rest.api.SomeClass cannot be found by B

Where com.myname.rest.api.SomeClass is contained in bundle B.

I can understand that bundle C cannot find SomeClass because the specific package is not specified in the Import-Package instruction of bundle C. Moreover, bundle B does not specify any Required-Plugin or Bundle-Classpath in the manifest. But as I mentioned before this cannot be changed.

Is there a way for me to add something in my plugins manifest to make package com.myname.rest.api visible to bundle B ?

Best answer