Gents, 



Per Justin's suggestion, I have removed all of the bundles from my 
<Export-Package> directive in the maven-bundle-plugin.  



However, our developers use some packages which do not have bundle 
implementations.  Putting these packages along with thier transitive 
dependencies (dependencies on other dependencies not used in the 
original bundle) in the <Export-Package> area would appear to be the 
appropriate way of handling these.  Unfortunately, the result is that the 
maven-bundle-plugin gives a "Superfluous Package" warning, listing the 
transitive dependencies after the warning.  Upon installing the bundle into 
Karaf, "Unresolved Constraint Violation" warnings occur, identifying the 
transitive dependencies as unresolved. 



Again, I am only putting the packages which have no bundle implementations, and 
therefore don't export anything into the OSGi framework. Two possible ways 
around this could be: 

1) Make a bundle out of them using the BND command line utility, or 

2) Include the non-bundled .jar files in the <Export> directive. 



The first solution is unacceptable because it would result in two .jar files 
with the same name and version, but different implementations (one bundled, the 
other not) floating around, which makes configuration management a headache. 
The second approach as I identified above doesn't work. 



So, now that I think I'm doing things the OSGi-way, how can I overcome the 
issue of development using non-bundled packages with transitive dependencies 
(especially on other non-bundled packages)? 



v/r, 



Mike Van 




Reply via email to