Search code examples
osgiapache-karafosgi-bundlekarafkaraf-maven-plugin

Karaf error installing OSGi bundle listed in startup.properties with url


I am getting following error while Karaf comes up:

Error installing bundle listed in startup.properties with url - mvn:org.apache.karaf.service/org.apache.karaf.service.guard/3.0.6 = 10

Content of startup.properties is as follows:

mvn\:org.ops4j.pax.url/pax-url-aether/2.4.5 = 5
mvn\:org.ops4j.pax.url/pax-url-wrap/2.4.5/jar/uber = 5
mvn\:org.ops4j.pax.logging/pax-logging-api/1.8.4 = 8
#mvn\:org.ops4j.pax.logging/pax-logging-service/1.8.4 = 8
mvn\:org.ops4j.pax.logging/pax-logging-logback/1.8.4 = 8
mvn\:org.apache.karaf.service/org.apache.karaf.service.guard/3.0.6 = 10
mvn\:org.apache.felix/org.apache.felix.configadmin/1.8.4 = 10
mvn\:org.apache.felix/org.apache.felix.fileinstall/3.5.2 = 11
mvn\:org.ow2.asm/asm-all/5.0.3 = 12
mvn\:org.apache.aries/org.apache.aries.util/1.1.1 = 20
mvn\:org.apache.aries.proxy/org.apache.aries.proxy.api/1.0.1 = 20
mvn\:org.apache.aries.blueprint/org.apache.aries.blueprint.cm/1.0.7 = 20
mvn\:org.apache.aries.proxy/org.apache.aries.proxy.impl/1.0.4 = 20
mvn\:org.apache.aries.blueprint/org.apache.aries.blueprint.api/1.0.1 = 20
mvn\:org.apache.aries.blueprint/org.apache.aries.blueprint.core.compatibility/1.0.0 = 20
mvn\:org.apache.aries.blueprint/org.apache.aries.blueprint.core/1.4.4 = 20
mvn\:org.apache.karaf.deployer/org.apache.karaf.deployer.spring/3.0.6 = 24
mvn\:org.apache.karaf.deployer/org.apache.karaf.deployer.blueprint/3.0.6 = 24
mvn\:org.apache.karaf.deployer/org.apache.karaf.deployer.wrap/3.0.6 = 24
mvn\:org.apache.karaf.region/org.apache.karaf.region.core/3.0.6 = 25
mvn\:org.apache.karaf.features/org.apache.karaf.features.core/3.0.6 = 25
mvn\:org.apache.karaf.deployer/org.apache.karaf.deployer.features/3.0.6 = 26
mvn\:jline/jline/2.13 = 30
mvn\:org.jledit/core/0.2.1 = 30
mvn\:org.apache.karaf.features/org.apache.karaf.features.command/3.0.6 = 30
mvn\:org.apache.karaf.bundle/org.apache.karaf.bundle.core/3.0.6 = 30
mvn\:org.apache.karaf.bundle/org.apache.karaf.bundle.command/3.0.6 = 30
mvn\:org.apache.karaf.shell/org.apache.karaf.shell.console/3.0.6 = 30
mvn\:org.apache.karaf.jaas/org.apache.karaf.jaas.modules/3.0.6 = 30
mvn\:org.apache.karaf.jaas/org.apache.karaf.jaas.config/3.0.6 = 30
mvn\:org.apache.sshd/sshd-core/0.14.0 = 30
mvn\:org.apache.karaf.shell/org.apache.karaf.shell.help/3.0.6 = 30
mvn\:org.apache.karaf.shell/org.apache.karaf.shell.table/3.0.6 = 30
mvn\:org.apache.karaf.system/org.apache.karaf.system.core/3.0.6 = 30
mvn\:org.apache.karaf.system/org.apache.karaf.system.command/3.0.6 = 30
mvn\:org.apache.karaf.shell/org.apache.karaf.shell.commands/3.0.6 = 30
mvn\:org.apache.aries.quiesce/org.apache.aries.quiesce.api/1.0.0 = 30

Any idea what could be reason?


Solution

  • All the URIs (with scheme mvn:) specified in etc/startup.properties are translated directly by Karaf when it starts.

    It's not possible to actually resolve mvn: URI, because mvn\:org.ops4j.pax.url/pax-url-aether/2.4.5 bundle is the one that can perform such resolution and we'd have chicken&egg problem here.

    So Karaf translates these mvn: URIs to file: URIs pointing to ${karaf.home}/system. For example mvn\:org.ops4j.pax.logging/pax-logging-logback/1.8.4file:${karaf.home}/system/org/ops4j/pax/logging/pax-logging-logback/1.8.4/pax-logging-logback-1.8.4.jar.

    If it's not found, it's not resolved. Please ensure you have the bundle org.apache.karaf.service.guard-3.0.6.jar in system/ directory of Karaf.