Tom, if you drop them _as bundles_, karaf works like any other osgi
container -- you have to drop in all the bundles you need. You might
need to set serviceRequirements to disable in
org.apache.karaf.features.cfg if your bundle manifests are not fully
informative on the topic of service capabilities.

If you drop them _as features_, you need to make correct features, and
that's painful if you can't get help from tooling.

On Tue, Sep 20, 2016 at 8:22 AM,  <> wrote:
> OK, that's really useful, I'll follow some of that up.
> As usual I went into this with the naive assumption that since Karaf was an 
> OSGi
> container, I would just be able to drop my bundles in and it would all just
> work. Sadly things aren't quite as simple.
>> On 20 September 2016 at 13:19 David Daniel <>
>> wrote:
>> Tom integrating karaf development and bndtools development has been tricky
>> but it is getting better.  Karaf development is centered around Mavens
>> build process while bndtools is centered around a custom workspace in cnf.
>> This release bndtools will be supporting maven and you can see the latest
>> post here!topic/bndtools-users/VcQ2rsb--Pk
>> You can see how to include karaf features in a bndrun file in Christians
>> examples here and the new cxf
>> example.  What I do in my build is I include a features.bnd file where I
>> map karaf features to bndrun runrequires/runbundles statements and I
>> include that in my bndrun files.  I have to separately maintain my
>> features.bnd and my features.xml.  I do this so I can build both a single
>> jar deployable and run in karaf and pax-exam.  Although the mixing of the
>> two build processes is hard it is becoming easier by the day.
>> On Tue, Sep 20, 2016 at 7:45 AM, <> wrote:
>> > I'm really struggling to get my bundles installed in Karaf, so I'd
>> > appreciate
>> > some hints on how to diagnose some issues. I'm trying to do a
>> > feature:install of
>> > a features.xml file I've written to install my bundles.
>> > My latest is:
>> >
>> > missing requirement osgi.wiring.package;
>> > filter:="(&(osgi.wiring.package=osgi.enroute.dto.api)(
>> > version>=1.0.0)(!(version>=2.0.0)))"
>> > [caused by: Unable to resolve osgi.enroute.base.api [62](R 62.0): missing
>> > requirement [osgi.enroute.base.api [62](R 62.0)] osgi.unresolvable;
>> > (&(must.not.resolve=*)(!(must.not.resolve=*)))]]]
>> >
>> > My interpretation of this is that I've got conflicting versions of
>> > something. I
>> > have no idea what, nor to figure out what the cause is.
>> >
>> > Up to now I've always just been using bndtools in eclipse (and the bundles
>> > I'm
>> > installing all work fine there), my first experience of Karaf was
>> > yesterday, so
>> > beyond what I've read in the docs, I know nothing about what useful
>> > commands
>> > there might be to help me diagnose. I don't even know how I would list
>> > what I've
>> > currently got installed that might satisfy osgi.enroute.dto.api or
>> > osgi.enroute.base.api.
>> >
>> > Any hints would be much appreciated.
>> > This seems to be extraordinarily more complicated that "resolve" in
>> > bndtools, or
>> > am I being naive?
>> >
>> > Thanks.
>> >

Reply via email to