Raised and fixed https://issues.apache.org/jira/browse/KARAF-2134 The workaround is to use the plain http url instead of the mvn url.
On Mon, Jan 21, 2013 at 10:42 AM, Charles Moulliard <[email protected]>wrote: > Convention is : META-INF + "/" + one directory where directory = > "org.apache.karaf.shell.features" + "/" + "*.xml" where * corresponds to a > features.xml file > > > On Mon, Jan 21, 2013 at 9:28 AM, Claus Ibsen <[email protected]> > wrote: > > > Hi > > > > Charles may have pointed out about the naming of the features file. > > > > Should it be a file in META-INF which has this long name with all the > dots? > > Or should it be a features.xml file in META-INF/org/apache/... eg deep > > down in a sub dir > > > > > > > > On Fri, Jan 18, 2013 at 3:41 PM, Claus Ibsen <[email protected]> > > wrote: > > > Hi > > > > > > > > > > > > On Fri, Jan 18, 2013 at 2:30 PM, Guillaume Nodet <[email protected]> > > wrote: > > >> Are you talking about the features deployer ? > > >> Karaf has it already. You can use osgi:install feature:mvn:xxx or > drop > > the > > >> features file in the deploy directory, or deploy any bundle which has > a > > >> META-INF/org.apache.karaf.shell.features/*.xml file inside. > > >> > > > > > > Thanks I did not know about that. > > > > > > I looked in the docs at: > > > > > > http://karaf.apache.org/manual/latest-2.3.x/users-guide/provisioning.html > > > > > > And didn't find any reference about that META-INF dir. > > > > > > So I tried this on Camel trunk. But didn't have the luck yet. > > > Notice how the bundle get installed with 2.11-SNAPSHOT as its name. I > > > guess maybe I do the install command wrong. > > > > > > > > > > > > davsclaus:/opt/apache-karaf-2.3.0$ bin/karaf > > > __ __ ____ > > > / //_/____ __________ _/ __/ > > > / ,< / __ `/ ___/ __ `/ /_ > > > / /| |/ /_/ / / / /_/ / __/ > > > /_/ |_|\__,_/_/ \__,_/_/ > > > > > > Apache Karaf (2.3.0) > > > > > > Hit '<tab>' for a list of available commands > > > and '[cmd] --help' for help on a specific command. > > > Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Karaf. > > > > > > karaf@root> features: > > > features:addurl features:chooseurl > > > features:info features:install > > > features:list features:listrepositories > > > features:listurl features:listversions > > > features:refreshurl features:removerepository > > > features:removeurl features:uninstall > > > karaf@root> features:chooseurl camel 2.11-SNAPSHOT > > > adding feature url > > > mvn:org.apache.camel.karaf/apache-camel/2.11-SNAPSHOT/xml/features > > > karaf@root> osgi:install > > > feature:mvn:org.apache.camel/camel-example-sql/2.11-SNAPSHOT > > > Bundle ID: 54 > > > karaf@root> la > > > START LEVEL 100 , List Threshold: 0 > > > ID State Blueprint Level Name > > > [ 0] [Active ] [ ] [ 0] System Bundle (4.0.3) > > > [ 1] [Active ] [ ] [ 5] OPS4J Pax Url - mvn: > (1.3.5) > > > [ 2] [Active ] [ ] [ 5] OPS4J Pax Url - wrap: > (1.3.5) > > > [ 3] [Active ] [ ] [ 8] OPS4J Pax Logging - Service > > (1.7.0) > > > [ 4] [Active ] [ ] [ 8] OPS4J Pax Logging - API > > (1.7.0) > > > [ 5] [Active ] [ ] [ 10] Apache Felix Configuration > > > Admin Service (1.4.0) > > > [ 6] [Active ] [ ] [ 11] Apache Felix File Install > > (3.2.6) > > > [ 7] [Active ] [Created ] [ 20] Apache Aries Blueprint Core > > (1.0.1) > > > [ 8] [Active ] [ ] [ 20] Apache Aries Util (1.0.0) > > > [ 9] [Active ] [ ] [ 20] Apache Aries Proxy API > > (1.0.0) > > > [ 10] [Active ] [ ] [ 20] ASM all classes (4.0) > > > [ 11] [Active ] [ ] [ 20] Apache Aries Blueprint API > > (1.0.0) > > > [ 12] [Active ] [ ] [ 20] Apache Aries Proxy Service > > (1.0.0) > > > [ 13] [Active ] [Created ] [ 20] Apache Aries Blueprint CM > > (1.0.0) > > > [ 14] [Active ] [Created ] [ 25] Apache Karaf :: Shell :: > > > Console (2.3.0) > > > [ 15] [Active ] [Created ] [ 28] Apache Karaf :: Deployer > > > :: Blueprint (2.3.0) > > > [ 16] [Active ] [Created ] [ 28] Apache Karaf :: Deployer > > > :: Spring (2.3.0) > > > [ 17] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > SSH > > (2.3.0) > > > [ 18] [Active ] [Created ] [ 30] Apache Karaf :: Management > > (2.3.0) > > > [ 19] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > > Various Commands (2.3.0) > > > [ 20] [Active ] [Created ] [ 30] Apache Karaf :: Features > > > :: Core (2.3.0) > > > [ 21] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > > Log Commands (2.3.0) > > > [ 22] [Active ] [Created ] [ 30] Apache Karaf :: Features > > > :: Command (2.3.0) > > > [ 23] [Active ] [Created ] [ 30] Apache Karaf :: Diagnostic > > > :: Management (2.3.0) > > > [ 24] [Active ] [ ] [ 30] Apache Mina SSHD :: Core > > (0.8.0) > > > [ 25] [Active ] [Created ] [ 30] Apache Karaf :: Deployer > > > :: Wrap Non OSGi Jar (2.3.0) > > > [ 26] [Active ] [ ] [ 30] Apache MINA Core (2.0.7) > > > [ 27] [Active ] [Created ] [ 30] Apache Karaf :: Admin :: > > > Command (2.3.0) > > > [ 28] [Active ] [Created ] [ 30] Apache Karaf :: Diagnostic > > > :: Command (2.3.0) > > > [ 29] [Active ] [ ] [ 30] Apache Aries JMX Core > (1.0.1) > > > [ 30] [Active ] [ ] [ 30] Apache Karaf :: Diagnostic > > > :: Core (2.3.0) > > > [ 31] [Active ] [Created ] [ 30] Apache Karaf :: Admin :: > > > Management (2.3.0) > > > [ 32] [Active ] [ ] [ 30] Apache Aries JMX API > (1.0.0) > > > [ 33] [Active ] [Created ] [ 30] Apache Karaf :: Diagnostic > > > :: Common (2.3.0) > > > [ 34] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > > Development Commands (2.3.0) > > > [ 35] [Active ] [Created ] [ 30] Apache Karaf :: Deployer > > > :: Features (2.3.0) > > > [ 36] [Active ] [ ] [ 30] Apache Aries JMX Blueprint > > > API (1.0.0) > > > [ 37] [Active ] [Created ] [ 30] Apache Karaf :: Jaas :: > > > Command (2.3.0) > > > [ 38] [Active ] [Created ] [ 30] Apache Karaf :: JAAS :: > > > Modules (2.3.0) > > > [ 39] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > > OSGi Commands (2.3.0) > > > [ 40] [Active ] [Created ] [ 30] Apache Karaf :: Features > > > :: Management (2.3.0) > > > [ 41] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > > PackageAdmin Commands (2.3.0) > > > [ 42] [Active ] [ ] [ 30] Apache Aries JMX Blueprint > > > Core (1.0.1) > > > [ 43] [Active ] [Created ] [ 30] Apache Karaf :: Admin :: > > > Core (2.3.0) > > > [ 44] [Active ] [Created ] [ 30] Apache Karaf :: Deployer > > > :: Karaf Archive (.kar) (2.3.0) > > > [ 45] [Active ] [Created ] [ 30] Apache Karaf :: JAAS :: > > > Config (2.3.0) > > > [ 46] [Active ] [Created ] [ 30] Apache Karaf :: Shell :: > > > ConfigAdmin Commands (2.3.0) > > > [ 47] [Active ] [Created ] [ 30] Apache Karaf :: Management > > > :: MBeans :: System (2.3.0) > > > [ 48] [Active ] [Created ] [ 30] Apache Karaf :: Management > > > :: MBeans :: Bundles (2.3.0) > > > [ 49] [Active ] [Created ] [ 30] Apache Karaf :: Management > > > :: MBeans :: Services (2.3.0) > > > [ 50] [Active ] [Created ] [ 30] Apache Karaf :: Management > > > :: MBeans :: Config (2.3.0) > > > [ 51] [Active ] [Created ] [ 30] Apache Karaf :: Management > > > :: MBeans :: Log (2.3.0) > > > [ 52] [Active ] [Created ] [ 30] Apache Karaf :: Management > > > :: MBeans :: Packages (2.3.0) > > > [ 53] [Active ] [Created ] [ 30] Apache Karaf :: Management > > > :: MBeans :: Dev (2.3.0) > > > [ 54] [Installed ] [ ] [ 80] 2.11-SNAPSHOT (0.0.0) > > > > > > > > > And the example contains the features.xml in that directory. > > > > > > > > > davsclaus:~/workspace/camel/examples/camel-example-sql$ tar -tf > > > target/camel-example-sql-2.11-SNAPSHOT.jar > > > META-INF/MANIFEST.MF > > > META-INF/ > > > META-INF/DEPENDENCIES > > > META-INF/LICENSE > > > META-INF/LICENSE.txt > > > META-INF/NOTICE > > > META-INF/NOTICE.txt > > > META-INF/maven/ > > > META-INF/maven/org.apache.camel/ > > > META-INF/maven/org.apache.camel/camel-example-sql/ > > > META-INF/maven/org.apache.camel/camel-example-sql/pom.properties > > > META-INF/maven/org.apache.camel/camel-example-sql/pom.xml > > > META-INF/org/ > > > META-INF/org/apache/ > > > META-INF/org/apache/karaf/ > > > META-INF/org/apache/karaf/shell/ > > > META-INF/org/apache/karaf/shell/features/ > > > META-INF/org/apache/karaf/shell/features/features.xml > > > META-INF/spring/ > > > META-INF/spring/camel-context.xml > > > log4j.properties > > > org/ > > > org/apache/ > > > org/apache/camel/ > > > org/apache/camel/example/ > > > org/apache/camel/example/sql/ > > > org/apache/camel/example/sql/DatabaseBean.class > > > org/apache/camel/example/sql/OrderBean.class > > > sql.properties > > > > > > > > > > > >> > > >> On Fri, Jan 18, 2013 at 12:46 PM, Achim Nierbeck < > > [email protected]>wrote: > > >> > > >>> Hi Clause, > > >>> > > >>> thanks for summing up what we talked of on IRC :) > > >>> > > >>> I think it could be even easier. > > >>> We could add a bundle tracker for features.xml files that will > install > > >>> those with the features service. > > >>> For this we don't even need a special syntax of the osgi:install url > > >>> (and actually if you want a url-handler to take control of it you > need > > >>> osgi:install features:mvn:xxxx) > > >>> > > >>> Something like the web-extender of pax-web could be done, and should > be > > >>> quite easy. > > >>> > > >>> regards, Achim > > >>> > > >>> > > >>> 2013/1/18 Claus Ibsen <[email protected]> > > >>> > > >>> > Hi > > >>> > > > >>> > So when people get started with Apache Karaf and Camel (eg not > going > > >>> > down the full ESB with SMX) then I would like to make that much > > >>> > easier. > > >>> > For example to tell them how easy you can install some of the > > examples > > >>> > we provided with Apache Camel > > >>> > http://camel.apache.org/examples > > >>> > > > >>> > Many of these examples have been prepared for OSGi and have > embedded > > >>> > features.xml file, so in theory they are ready to install. > > >>> > > > >>> > Though I could not find a way to install the example in Karaf > without > > >>> pain. > > >>> > > > >>> > eg I want to do > > >>> > > > >>> > cd apache-karaf-2.3.0 > > >>> > bin/karaf > > >>> > > > >>> > features:choose camel 2.11.0 > > >>> > > > >>> > // and how to install my example, such as camel-example-sql > > >>> > ????? > > >>> > > > >>> > > > >>> > The camel features does not contain examples. > > >>> > And frankly I would like Karaf to be able to install a bundle but > use > > >>> > the features.xml file that is included in the JAR in the root > > >>> > classpath. (Or some other directory if Karaf has a standard for > > that). > > >>> > > > >>> > Maybe I can type, eg notice the :feature in the command > > >>> > > > >>> > osgi:install mvn:feature:org.apache/camel/camel-example-sql/2.11.0 > > >>> > > > >>> > Or some other way to install it. > > >>> > > > >>> > Then people just need to download Karaf, and they can install Camel > > >>> > and the examples from Maven. > > >>> > > > >>> > Now I want them to be able to do this for their custom application > as > > >>> > well, so they can do > > >>> > > > >>> > osgi:install file:feature:/dev/myproject/target/myapp-1.0.jar > > >>> > > > >>> > Or something like that. > > >>> > > > >>> > > > >>> > So how can we make it easier for people to install and try Camel > > >>> > examples in vanilla Apache Karaf containers? > > >>> > And how can we make it easier for people to install their own > > >>> > applications in vanilla Apache Karaf containers, > > >>> > which uses features.xml file to declare their dependencies. > > >>> > > > >>> > And NO they do NOT want to use KAR files or some Karaf specific. > > Their > > >>> > applications should be plain JARs > > >>> > that can also run outside Karaf as well. > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > -- > > >>> > Claus Ibsen > > >>> > ----------------- > > >>> > Red Hat, Inc. > > >>> > FuseSource is now part of Red Hat > > >>> > Email: [email protected] > > >>> > Web: http://fusesource.com > > >>> > Twitter: davsclaus > > >>> > Blog: http://davsclaus.com > > >>> > Author of Camel in Action: http://www.manning.com/ibsen > > >>> > > > >>> > > >>> > > >>> > > >>> -- > > >>> > > >>> Apache Karaf <http://karaf.apache.org/> Committer & PMC > > >>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> > > Committer & > > >>> Project Lead > > >>> OPS4J Pax for Vaadin < > > http://team.ops4j.org/wiki/display/PAXVAADIN/Home> > > >>> Commiter & Project Lead > > >>> blog <http://notizblog.nierbeck.de/> > > >>> > > >> > > >> > > >> > > >> -- > > >> ------------------------ > > >> Guillaume Nodet > > >> ------------------------ > > >> Blog: http://gnodet.blogspot.com/ > > >> ------------------------ > > >> FuseSource, Integration everywhere > > >> http://fusesource.com > > > > > > > > > > > > -- > > > Claus Ibsen > > > ----------------- > > > Red Hat, Inc. > > > FuseSource is now part of Red Hat > > > Email: [email protected] > > > Web: http://fusesource.com > > > Twitter: davsclaus > > > Blog: http://davsclaus.com > > > Author of Camel in Action: http://www.manning.com/ibsen > > > > > > > > -- > > Claus Ibsen > > ----------------- > > Red Hat, Inc. > > FuseSource is now part of Red Hat > > Email: [email protected] > > Web: http://fusesource.com > > Twitter: davsclaus > > Blog: http://davsclaus.com > > Author of Camel in Action: http://www.manning.com/ibsen > > > > > > -- > Charles Moulliard > Apache Committer / Sr. Enterprise Architect (RedHat) > Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com > -- ------------------------ Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ FuseSource, Integration everywhere http://fusesource.com
