I'm trying to build a custom karaf distribution using the maven karaf-assembly
packaging type.
My latest issue is that the build fails with
missing requirement osgi.extender;
filter:="(&(osgi.extender=osgi.component)(version>=1.3.0)(!(version>=2.0.0)))"
I interpret this as meaning the bundle uses DS and therefore I need
apache.felix.scr.
If I don't add my bundle in, the build works, and when I start up the resulting
karaf, feature:list shows that scr is installed and started. "bundle:headers
mvn:org.apache.felix/org.apache.felix.scr/2.0.10" shows:
Provide-Capability =
osgi.extender;uses:=org.osgi.service.component;osgi.extender=osgi.component;version:Version=1.3
So I appear to have that capability don't I?
So why does the build apparently fail in that way?
My POM has:
<dependencies>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>framework</artifactId>
<version>${karafVersion}</version>
<type>kar</type>
</dependency>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>standard</artifactId>
<version>${karafVersion}</version>
<classifier>features</classifier>
<type>xml</type>
<scope>compile</scope>
</dependency>
and then:
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>4.1.1</version>
<extensions>true</extensions>
<configuration>
<installedFeatures>
<feature>wrapper</feature>
</installedFeatures>
<startupFeatures>
<feature>eventadmin</feature>
</startupFeatures>
<bootFeatures>
<feature>standard</feature>
<feature>webconsole</feature>
<feature>http-whiteboard</feature>
<feature>scr</feature>
<feature>prereqs</feature>
</bootFeatures>
<javase>1.8</javase>
</configuration>
</plugin>