tags:

views:

56

answers:

1

Hi,

I try to install a bundle in an OSGi environment (FUSE ESB) but do not manage to get it resolved. The error message is:

The bundle could not be resolved. Reason: Package uses conflict: Import-Package: de.foo.bar; version="0.0.0"

My bundle imports the package de.foo.bar. The bundle which exports the package de.foo.bar does this with a 'uses' directive.

Export-Package = de.foo.bar;uses:="{other packages}";version="2.4.0"

As I understood I have to ensure that my bundle must import all other packages mentioned in the 'uses' directive of the de.foo.bar package (in the right version).

I checked this and also tried several version changes (0.0.0 and the real version numbers) but can not get it to work.

So, what does the error message realy means (maybe I understood it wrong)? What do I have to check?

Thanks for any help

Klaus


System Information:

A: 

I finally found what was wrong.

My bundle is a Spring Dynamic Module bundle and I did a mistake in the spring bean configuration (use a 'ref' instead a 'value' in a constructor-arg). Normally spring configuration errors are reported as such - I do not know why the current error resulted in the misleading message.

EDIT:

The faulty Spring configuration does not cause the uses conflict. It finally was the import of the package org.apache.log4j which is exported by different bundles (in my FUSE ESB container) and apparently was different wired to the bundles I tried to install.

Trying to solve my problem I found the article Diagnosing OSGi uses conflicts which I found helpfull to understand the problem.

K. Claszen