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 > > > > > > > > > > >
