Hi, did you set your own bundle also as a boot feature, in that case separate the karaf boot features from your own feature by placing brackets around them. As you would do with the wrap feature. (See ml for details of that) Most likely it's because while your feature is installed the blueprint one isn't available yet.
Regards, Achim sent from mobile device Am 19.02.2016 5:29 nachm. schrieb "Nicolas Brasey" <[email protected] >: > Hi Morgan, > > Thanks for the quick reply! > > Here is my feature. I use the karaf-maven-plugin to generate it from my > pom.xml transitive dependencies: > > <?xml version="1.0" encoding="UTF-8" standalone="yes"?> > <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" > name="dms-content-features"> > > <repository>mvn:org.apache.karaf.features/standard/4.0.4/xml/features</repository> > > <repository>mvn:org.apache.cxf.karaf/apache-cxf/3.1.2/xml/features</repository> > <feature name="dms-content" description="dms-content-features" > version="0.0.1.SNAPSHOT"> > <configfile > finalname="/etc/dms.content.cfg">mvn:com.xxx.dms/dms-content-features/0.0.1-SNAPSHOT/cfg</configfile> > <feature prerequisite="false" dependency="true">cxf</feature> > <feature prerequisite="false" > dependency="true">cxf-http-jetty</feature> > <bundle > start-level="100">mvn:com.xxx.dms/dms-content-core-impl/0.0.1-SNAPSHOT</bundle> > <bundle > start-level="100">mvn:com.xxx.dms/dms-content-core-api/0.0.1-SNAPSHOT</bundle> > <bundle > start-level="100">mvn:com.xxx.dms/dms-content-storage-api/0.0.1-SNAPSHOT</bundle> > <bundle > start-level="100">mvn:com.xxx.dms/dms-model/0.0.1-SNAPSHOT</bundle> > <bundle > start-level="100">mvn:com.fasterxml.jackson.core/jackson-annotations/2.6.3</bundle> > <bundle > start-level="100">mvn:com.fasterxml.jackson.core/jackson-databind/2.6.3</bundle> > <bundle > start-level="100">mvn:com.fasterxml.jackson.core/jackson-core/2.6.3</bundle> > <bundle start-level="100">mvn:com.google.guava/guava/18.0</bundle> > <bundle > start-level="100">mvn:com.xxx.dms/dms-content-rs-cxf/0.0.1-SNAPSHOT</bundle> > <bundle > start-level="100">mvn:com.xxx.dms/dms-content-rs-api/0.0.1-SNAPSHOT</bundle> > <bundle > start-level="100">mvn:org.apache.cxf/cxf-rt-frontend-jaxrs/3.1.2</bundle> > <bundle > start-level="100">mvn:org.apache.cxf/cxf-core/3.1.2</bundle> > <bundle > start-level="100">mvn:org.codehaus.woodstox/woodstox-core-asl/4.4.1</bundle> > <bundle > start-level="100">mvn:org.codehaus.woodstox/stax2-api/3.1.4</bundle> > <bundle > start-level="100">mvn:org.apache.ws.xmlschema/xmlschema-core/2.2.1</bundle> > <bundle start-level="100">mvn:javax.ws.rs/javax.ws.rs-api/2.0.1 > </bundle> > <bundle > start-level="100">mvn:javax.annotation/javax.annotation-api/1.2</bundle> > <bundle > start-level="100">mvn:org.apache.cxf/cxf-rt-transports-http/3.1.2</bundle> > <bundle > start-level="100">mvn:com.xxx.dms/dms-common/0.0.1-SNAPSHOT</bundle> > <bundle > start-level="100">mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/2.6.3</bundle> > <bundle > start-level="100">mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/2.6.3</bundle> > <bundle > start-level="100">mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/2.6.3</bundle> > <bundle > start-level="100">mvn:com.xxx.dms/dms-content-storage-gridfs/0.0.1-SNAPSHOT</bundle> > <bundle > start-level="100">mvn:org.mongodb/mongo-java-driver/3.0.0</bundle> > </feature> > </features> > > > As you can see, the feature seems to be correct: > > <bundle > start-level="100">mvn:com.xxx.dms/dms-content-rs-cxf/0.0.1-SNAPSHOT</bundle> > > > The OSGi resolver error message are still a little cryptic for me at the > moment, I'm not sure what the resolver is trying the find, but I believe it > cannot find blueprint: > > osgi.wiring.package; > filter:="(&(osgi.wiring.package=org.osgi.service.blueprint)(version>=1.0.0)(!(version>=2.0.0)))"]] > > > I cannot figure why as I thought it was embedded in the base karaf > features. > > > Thanks again! > Nicolas > > > > > On Fri, Feb 19, 2016 at 4:53 PM, Morgan <[email protected]> wrote: > >> Nicolas, >> >> From what I read in your pom. Your feature should look for >> >> com.xxx.dms/content-rs-cxf/0.0.1.SNAPSHOT >> >> instead of >> >> com.xxx.dms.content-rs-cxf/0.0.1.SNAPSHOT >> >> Regards, >> Morgan >> >> On 2016-02-19 15:46, Nicolas Brasey wrote: >> >> Hey guys, >> >> I'm evaluating karaf at the moment to be our middleware runtime for our >> product. >> >> Our solution runs within internal networks with no connection to the >> outside world so we need built our custom karaf distribution containing all >> the needed bundles already packaged in the system repository. >> >> I trying to create my own distribution based on the example found on the >> documentation, but I can't figure out why the felix resolver cannot resolve >> a package: >> >> Caused by: org.osgi.service.resolver.ResolutionException: Unable to >> resolve root: missing requirement [root] osgi.identity; >> osgi.identity=dms-content; type=karaf.feature; version=0.0.1.SNAPSHOT; >> filter:="(&(osgi.identity=dms-content)(type=karaf.feature)(version>=0.0.1.SNAPSHOT))" >> [caused by: Unable to resolve dms-content/0.0.1.SNAPSHOT: missing >> requirement [dms-content/0.0.1.SNAPSHOT] osgi.identity; >> osgi.identity=com.xxx.dms.content-rs-cxf; type=osgi.bundle; >> version="[0.0.1.SNAPSHOT,0.0.1.SNAPSHOT]"; resolution:=mandatory [caused >> by: Unable to resolve com.xxx.dms.content-rs-cxf/0.0.1.SNAPSHOT: missing >> requirement [com.xxx.dms.content-rs-cxf/0.0.1.SNAPSHOT] >> osgi.wiring.package; >> filter:="(&(osgi.wiring.package=org.osgi.service.blueprint)(version>=1.0.0)(!(version>=2.0.0)))"]] >> at >> org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42) >> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235) >> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158) >> at >> org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:216) >> at >> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:263) >> at org.apache.karaf.profile.assembly.Builder.resolve(Builder.java:1214) >> at >> org.apache.karaf.profile.assembly.Builder.startupStage(Builder.java:1002) >> at >> org.apache.karaf.profile.assembly.Builder.doGenerateAssembly(Builder.java:606) >> at >> org.apache.karaf.profile.assembly.Builder.generateAssembly(Builder.java:389) >> at org.apache.karaf.tooling.AssemblyMojo.doExecute(AssemblyMojo.java:392) >> at org.apache.karaf.tooling.AssemblyMojo.execute(AssemblyMojo.java:228) >> ... 22 more >> >> >> >> >> Here is the content of the pom.xml: >> >> >> <?xml version="1.0" encoding="UTF-8"?> >> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" >> http://www.w3.org/2001/XMLSchema-instance" >> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >> http://maven.apache.org/xsd/maven-4.0.0.xsd"> >> <modelVersion>4.0.0</modelVersion> >> >> <parent> >> <artifactId>dms-karaf</artifactId> >> <groupId>com.xxx.dms</groupId> >> <version>0.0.1-SNAPSHOT</version> >> </parent> >> >> <artifactId>dms-karaf-minimal</artifactId> >> <packaging>karaf-assembly</packaging> >> <name>${project.artifactId}</name> >> >> <dependencies> >> <dependency> >> <!-- scope is compile so all features (there is only one) are >> installed into startup.properties and the feature repo itself is not added >> in etc/org.apache.karaf.features.cfg file --> >> <groupId>org.apache.karaf.features</groupId> >> <artifactId>framework</artifactId> >> <version>4.0.4</version> >> <type>kar</type> >> </dependency> >> >> <dependency> >> <!-- scope is runtime so the feature repo is listed in >> etc/org.apache.karaf.features.cfg file, and features will installed into >> the system directory --> >> <groupId>org.apache.karaf.features</groupId> >> <artifactId>standard</artifactId> >> <classifier>features</classifier> >> <version>4.0.4</version> >> <type>xml</type> >> <scope>runtime</scope> >> </dependency> >> >> <dependency> >> <!-- scope is runtime so the feature repo is listed in >> etc/org.apache.karaf.features.cfg file, and features will installed into >> the system directory if specify in the plugin configuration --> >> <groupId>com.xxx.dms</groupId> >> <artifactId>dms-content-features</artifactId> >> <version>${project.version}</version> >> <classifier>features</classifier> >> <type>xml</type> >> <scope>compile</scope> >> </dependency> >> >> >> </dependencies> >> >> <build> >> <!-- if you want to include resources in the distribution --> >> <resources> >> <resource> >> <directory>src/main/resources</directory> >> <filtering>false</filtering> >> <includes> >> <include>**/*</include> >> </includes> >> </resource> >> <resource> >> <directory>src/main/filtered-resources</directory> >> <filtering>true</filtering> >> <includes> >> <include>**/*</include> >> </includes> >> </resource> >> </resources> >> >> <plugins> >> <!-- if you want to include resources in the distribution --> >> <plugin> >> <groupId>org.apache.maven.plugins</groupId> >> <artifactId>maven-resources-plugin</artifactId> >> <version>2.6</version> >> <executions> >> <execution> >> <id>process-resources</id> >> <goals> >> <goal>resources</goal> >> </goals> >> </execution> >> </executions> >> </plugin> >> >> <!-- karaf-maven-plugin will call both assembly and archive >> goals --> >> <plugin> >> <groupId>org.apache.karaf.tooling</groupId> >> <artifactId>karaf-maven-plugin</artifactId> >> <configuration> >> <javase>1.8</javase> >> >> <bootFeatures> >> <feature>jaas</feature> >> <feature>shell</feature> >> <feature>ssh</feature> >> <feature>management</feature> >> <feature>bundle</feature> >> <feature>config</feature> >> <feature>deployer</feature> >> <feature>diagnostic</feature> >> <feature>instance</feature> >> <feature>kar</feature> >> <feature>log</feature> >> <feature>package</feature> >> <feature>service</feature> >> <feature>system</feature> >> <feature>aries-blueprint</feature> >> <feature>dms-content</feature> >> </bootFeatures> >> >> </configuration> >> </plugin> >> </plugins> >> </build> >> </project> >> >> >> >> Thanks a lot! >> >> Nicolas >> >> >> >> >> >> >> >> >> >> >> >
