Hi, you're doing it right, this is the prefered way of referencing another feature in your own feature. With Karaf 4 we have a new feature-resolver in place which actually works as the bundle resolver. This resolver does a far more strict lookup of the resources to be installed, as it doesn't do you any good to install a bunch of bundles which can't be started anyway because of a missing service etc..
Now with your current scenario I'd say we might have an issue with the cxf feature as it doesn't seem to provide some necessary information. I suspect this to be because of a mixture of "feature-versions". So unless you require some new functionalities of the 1.3 namespace try to downgrade your own namespace version to v1.2.0. Cause for Namespaces lower 1.3.0 this new resolving is disabled and it'll just install those features without checking if everything is in place. regards, Achim 2015-07-02 6:22 GMT+02:00 Ed Hillmann <[email protected]>: > Alternatively, I've tried to define the repo / feature to be started at > boot time, by editing org.apache.karaf.features.cfg. But that didn't seem > to help. > > ? > > > ---------- Forwarded message ---------- > From: Ed Hillmann <[email protected]> > Date: Thu, Jul 2, 2015 at 1:58 PM > Subject: In 4.0.0, can my features.xml install another repository? > To: [email protected] > > > Hi. I have a features.xml that defined my bundles. My bundles in turn > use code provided from the apache-cxf project. To date, in order to set up > my karaf instance, I have > > - At the console, used feature:repo-add to add the cxf repository > ("repo-add cxf") > - At the console, used feature:repo-add to add my own features.xml from a > mvn address > - At the console, used feature:install to install my bundles. In my > bundles, I have listed <feature version="3.1.0">cxf</feature> > > This all works. However, I was hoping I could skip the first step. So, > instead of manually installing the cxf repo, have it defined as part of my > features.xml. It looks like it is possible, at the schema supports it. > So, at the head of my features file, it looks like this... > > > <features name="${project.artifactId}-${project.version}" xmlns=" > http://karaf.apache.org/xmlns/features/v1.3.0"> > > > <repository>mvn:org.apache.cxf.karaf/apache-cxf/3.1.0/xml/features</repository> > > > > The hope was that now I could just repo-add my own features.xml file, and > the act of installing my feature would in turn add the cxf repo. But, > that's not happening. When I attempt to feature:install my bundles (which > depend on cxf), I get this error: > > Error executing command: Unable to resolve root: missing requirement > [root] osgi.identity; osgi.identity=cxf; type=karaf.feature; version=3.1.0 > > I dare say that, if I manually add the cxf repo, this will then work fine. > > Should this work? If so, am I doing something wrong? Is there another > command I should be running? > > Thanks for any help, > Ed > > > -- Apache Member Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> Software Architect / Project Manager / Scrum Master
