Hi Christian, I just verified if there is an issue with the sample, which isn't. Did you follow the instructions in the book, also did you make sure the Karaf is in a "Vanilla" state?
For recipe2 of chapter2 to work you need to have camel installed: feature:repo-add mvn:org.apache.camel.karaf/apache-camel/2.12.2/xml/features feature:install camel To install the sample recipe: install -s mvn:com.packt/sample/1.0.0-SNAPSHOT Could you try to create this sample via a build in a shell instead of eclipse. Maybe your eclipse does something different. regards, Achim 2015-03-10 19:09 GMT+01:00 Christian Eugster <c.eugs...@docuteam.ch>: > Hi Christian, > > I tried tasklist/pom.xml and got the following stacktrace while mvn > install: > > 2015-03-10 19:04:16,193 | WARN | FelixStartLevel | AetherBasedResolver > | 44 - org.ops4j.pax.url.mvn - 1.6.0 | Error resolving > artifactnet.lr.tasklist:tasklist-features:xml:1.0.0-SNAPSHOT:Could not find > artifact net.lr.tasklist:tasklist-features:xml:1.0.0-SNAPSHOT in > defaultlocal > (file:/Users/christian/Downloads/cschneider-Karaf-Tutorial-96070cf/tasklist/tasklist-itests/target/exam/a6104df3-464c-4a77-9f6e-00edcb58ee3b/$%7Buser.home%7D/.m2/repository/) > org.sonatype.aether.resolution.ArtifactResolutionException: Could not find > artifact net.lr.tasklist:tasklist-features:xml:1.0.0-SNAPSHOT in > defaultlocal > (file:/Users/christian/Downloads/cschneider-Karaf-Tutorial-96070cf/tasklist/tasklist-itests/target/exam/a6104df3-464c-4a77-9f6e-00edcb58ee3b/$%7Buser.home%7D/.m2/repository/) > at > org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:538) > at > org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:216) > at > org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:193) > at > org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:286) > at > org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:250) > at > org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolveFile(AetherBasedResolver.java:239) > at > org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:223) > at > org.ops4j.pax.url.mvn.internal.Connection.getInputStream(Connection.java:122) > at > org.apache.karaf.features.internal.FeatureValidationUtil.load(FeatureValidationUtil.java:85) > at > org.apache.karaf.features.internal.FeatureValidationUtil.validate(FeatureValidationUtil.java:56) > at > org.apache.karaf.features.internal.FeaturesServiceImpl.validateRepository(FeaturesServiceImpl.java:151) > at > org.apache.karaf.features.internal.FeaturesServiceImpl.internalAddRepository(FeaturesServiceImpl.java:222) > at > org.apache.karaf.features.internal.FeaturesServiceImpl.initState(FeaturesServiceImpl.java:791) > at > org.apache.karaf.features.internal.FeaturesServiceImpl.start(FeaturesServiceImpl.java:803) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method)[:1.8.0_40] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_40] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_40] > at java.lang.reflect.Method.invoke(Method.java:497)[:1.8.0_40] > at > org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:297)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:958)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:712)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:824)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[4:org.apache.aries.blueprint.core:1.3.0] > at > java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_40] > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:933)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[4:org.apache.aries.blueprint.core:1.3.0] > at > java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_40] > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:283)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:250)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:237)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.ServiceRecipe.getClasses(ServiceRecipe.java:370)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:184)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.registerServices(BlueprintContainerImpl.java:703)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:377)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[2:org.apache.aries.util:1.1.0] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[2:org.apache.aries.util:1.1.0] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[2:org.apache.aries.util:1.1.0] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[2:org.apache.aries.util:1.1.0] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[2:org.apache.aries.util:1.1.0] > at > org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.Felix.startBundle(Felix.java:2092)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)[org.apache.felix.framework-4.2.1.jar:] > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Could > not find artifact net.lr.tasklist:tasklist-features:xml:1.0.0-SNAPSHOT in > defaultlocal > (file:/Users/christian/Downloads/cschneider-Karaf-Tutorial-96070cf/tasklist/tasklist-itests/target/exam/a6104df3-464c-4a77-9f6e-00edcb58ee3b/$%7Buser.home%7D/.m2/repository/) > at > org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:947)[44:org.ops4j.pax.url.mvn:1.6.0] > at > org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:941)[44:org.ops4j.pax.url.mvn:1.6.0] > at > org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:669)[44:org.ops4j.pax.url.mvn:1.6.0] > at > org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:60)[44:org.ops4j.pax.url.mvn:1.6.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_40] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_40] > ... 1 more > 2015-03-10 19:04:16,207 | WARN | FelixStartLevel | FeaturesServiceImpl > | 1 - org.apache.karaf.features.core - 3.0.0 | Unable to add > features repository > mvn:net.lr.tasklist/tasklist-features/1.0.0-SNAPSHOT/xml at startup > java.io.IOException: Error resolving artifact > net.lr.tasklist:tasklist-features:xml:1.0.0-SNAPSHOT: Could not find > artifact net.lr.tasklist:tasklist-features:xml:1.0.0-SNAPSHOT in > defaultlocal > (file:/Users/christian/Downloads/cschneider-Karaf-Tutorial-96070cf/tasklist/tasklist-itests/target/exam/a6104df3-464c-4a77-9f6e-00edcb58ee3b/$%7Buser.home%7D/.m2/repository/) > at > org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:258) > at > org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolveFile(AetherBasedResolver.java:239) > at > org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:223) > at > org.ops4j.pax.url.mvn.internal.Connection.getInputStream(Connection.java:122) > at > org.apache.karaf.features.internal.FeatureValidationUtil.load(FeatureValidationUtil.java:85) > at > org.apache.karaf.features.internal.FeatureValidationUtil.validate(FeatureValidationUtil.java:56) > at > org.apache.karaf.features.internal.FeaturesServiceImpl.validateRepository(FeaturesServiceImpl.java:151) > at > org.apache.karaf.features.internal.FeaturesServiceImpl.internalAddRepository(FeaturesServiceImpl.java:222) > at > org.apache.karaf.features.internal.FeaturesServiceImpl.initState(FeaturesServiceImpl.java:791) > at > org.apache.karaf.features.internal.FeaturesServiceImpl.start(FeaturesServiceImpl.java:803) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native > Method)[:1.8.0_40] > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_40] > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_40] > at java.lang.reflect.Method.invoke(Method.java:497)[:1.8.0_40] > at > org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:297)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:958)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:712)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:824)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[4:org.apache.aries.blueprint.core:1.3.0] > at > java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_40] > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:933)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:907)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:888)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:820)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[4:org.apache.aries.blueprint.core:1.3.0] > at > java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_40] > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:283)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:250)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:237)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.ServiceRecipe.getClasses(ServiceRecipe.java:370)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:184)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.registerServices(BlueprintContainerImpl.java:703)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:377)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:245)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:235)[4:org.apache.aries.blueprint.core:1.3.0] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[2:org.apache.aries.util:1.1.0] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[2:org.apache.aries.util:1.1.0] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[2:org.apache.aries.util:1.1.0] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[2:org.apache.aries.util:1.1.0] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[2:org.apache.aries.util:1.1.0] > at > org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.Felix.startBundle(Felix.java:2092)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291)[org.apache.felix.framework-4.2.1.jar:] > at > org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)[org.apache.felix.framework-4.2.1.jar:] > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > > > Christian Eugster > Docuteam GmbH > Langacker 16 > Postfach > CH-5405 Baden-Dättwil > +41 (0)56 470 03 37 > c.eugs...@docuteam.ch > > > > > > > Am 10.03.2015 um 18:32 schrieb Christian Schneider < > ch...@die-schneider.net>: > > > > Can you try some of the examples from my site and see if you hit the > same problems? > > I wonder if the problem is specific to the packt example or general. > > > > http://liquid-reality.de/display/liquid/Karaf+Tutorials > > https://github.com/cschneider/Karaf-Tutorial > > > > Christian > > > > On 10.03.2015 18:20, Christian Eugster wrote: > >> I would say, the default path in org.ops4j.pax.url.mvn.cfg is right. > Looking in user.home/.m2/repository, I find the respective jar in the right > place: > >> > >> > ~/.m2/repository/com/packt/sample/1.0.0-SNAPSHOT/sample-1.0.0-SNAPSHOT.jar > >> > >> The settings file in ~/.m2 had no extension. I added .xml and tried > again, but nothing better. > >> > >> My steps: > >> 1. I imported the sample projects of the book into eclipse > >> 2. I run mvn install on Chapter2/recipe2/sample/pom.xml - succeeded > >> 3. In karaf i did bundle:install -s mvn:com.packt/sample in different > variations I always get the error message Unable to install and karaf.log > as provided in one of the previous emails. > >> > >> Regards Christian > >> > >> > >> Christian Eugster > >> Docuteam GmbH > >> Langacker 16 > >> Postfach > >> CH-5405 Baden-Dättwil > >> +41 (0)56 470 03 37 > >> c.eugs...@docuteam.ch > >> > >> > >> > >> > >> > >>> Am 10.03.2015 um 18:04 schrieb Christian Schneider < > ch...@die-schneider.net>: > >>> > >>> You can configure it in etc/org.ops4j.pax.url.mvn.cfg but using the > default will save you from many problems. > >>> > >>> Christian > >>> > >>> On 10.03.2015 17:58, Christian Eugster wrote: > >>>> My local maven repository is at ~/.m2e. Maybe I have to configure > this location in karaf? Or reconfigure it in maven? > >>>> > >>>> Christian > >>>> > >>>> Christian Eugster > >>>> Docuteam GmbH > >>>> Langacker 16 > >>>> Postfach > >>>> CH-5405 Baden-Dättwil > >>>> +41 (0)56 470 03 37 > >>>> c.eugs...@docuteam.ch > >>>> > >>> -- > >>> Christian Schneider > >>> http://www.liquid-reality.de > >>> > >>> Open Source Architect > >>> http://www.talend.com > >>> > >> > > > > > > -- > > Christian Schneider > > http://www.liquid-reality.de > > > > Open Source Architect > > http://www.talend.com > > > > -- 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