javaosgitychoblueprint-osgi

org.osgi.service.cm.ConfigurationAdmin can't be resolved


I have a RCP application written in Java 8 which I can build and run using Eclipse Mars IDE with no issues. Now I need to integrate Tycho 0.24.0 to my project. I can successfully build the project with Tycho but I have runtime issues. Most my OSGI bundles depend on blueprint-cm, for example

<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
           xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
           xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">

    <ext:property-placeholder placeholder-prefix="$["
                              placeholder-suffix="]"/>
    <cm:property-placeholder persistent-id="com.mst.fusion.osgi" />
</blueprint>

The problem is that org.apache.aries.blueprint.cm bundle can't be resolved because of missing ConfigurationAdmin. Please see the log from OSGI console

DEBUG o.a.a.b.c.AbstractServiceReferenceRecipe - Found initial references null for OSGi service (objectClass=org.osgi.service.cm.ConfigurationAdmin)
INFO  o.a.a.b.c.BlueprintContainerImpl - Bundle org.apache.aries.blueprint.cm is waiting for dependencies [(objectClass=org.osgi.service.cm.ConfigurationAdmin)]
ERROR o.a.a.b.c.BlueprintContainerImpl - Unable to start blueprint container for bundle org.apache.aries.blueprint.cm due to unresolved dependencies [(objectClass=org.osgi.service.cm.ConfigurationAdmin)]
java.util.concurrent.TimeoutException: null

How can I create a ConfigurationAdmin service?


Solution

  • Thanks greg-449 for your hint. It turned out that I had org.osgi.service.cm.ConfigurationAdmin interface but I didn't have any available implementation, I just manually downloaded org.eclipse.equinox.cm jar from Mars repository and now it works.