Below you will find an entire POM for making a Karaf assembly with CXF 3.1.1 in it.
It is complaining about javax.enterprise.context. I suppose that there's some additional boot feature I need here, but, which one, and why doesn't cxf have feature dependencies to make it work automatically? [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.0.1:assembly (default-assembly) on project rosapi-assembly-min-test: Unable to build assembly: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=cxf-http; type=karaf.feature; version=3.1.1 [caused by: Unable to resolve cxf-http/3.1.1: missing requirement [cxf-http/3.1.1] osgi.identity; osgi.identity=org.apache.cxf.cxf-rt-transports-http; type=osgi.bundle; version="[3.1.1,3.1.1]"; resolution:=mandatory [caused by: Unable to resolve org.apache.cxf.cxf-rt-transports-http/3.1.1: missing requirement [org.apache.cxf.cxf-rt-transports-http/3.1.1] osgi.wiring.package; filter:="(&(osgi.wiring.package=javax.servlet)(version>=0.0.0)(!(version>=4.0.0)))"]] -> [Help 1] <?xml version="1.0" encoding="UTF-8" standalone="no"?> <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>rosapi-assemblies</artifactId> <groupId>com.basistech.ws</groupId> <version>1.5.0-SNAPSHOT</version> </parent> <artifactId>rosapi-assembly-min-test</artifactId> <name>rosapi-assembly-min-test</name> <packaging>karaf-assembly</packaging> <properties> <skip-dependency-convergence>true</skip-dependency-convergence> </properties> <dependencies> <dependency> <groupId>org.apache.karaf.features</groupId> <artifactId>framework</artifactId> <version>${karaf-version}</version> <type>kar</type> </dependency> <dependency> <groupId>org.apache.karaf.features</groupId> <artifactId>standard</artifactId> <version>${karaf-version}</version> <classifier>features</classifier> <type>xml</type> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.cxf.karaf</groupId> <artifactId>apache-cxf</artifactId> <version>${cxf-version}</version> <classifier>features</classifier> <type>xml</type> <scope>compile</scope> </dependency> </dependencies> <build> <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> <plugin> <groupId>org.apache.karaf.tooling</groupId> <artifactId>karaf-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <finalName>${project.artifactId}</finalName> <bootFeatures> <feature>bundle</feature> <feature>config</feature> <feature>diagnostic</feature> <feature>feature</feature> <feature>jaas</feature> <feature>shell</feature> <feature>log</feature> <feature>management</feature> <feature>package</feature> <feature>shell-compat</feature> <feature>ssh</feature> <feature>system</feature> <feature>wrap</feature> <feature>jolokia</feature> <feature>war</feature> <feature>http</feature> </bootFeatures> <startupFeatures> <feature>cxf-jaxrs</feature> </startupFeatures> <archiveZip>false</archiveZip> </configuration> </plugin> </plugins> </build> </project>
