Hi,
I am trying to build a custom karaf distribution with the karaf-maven-plugin.
In my pom, I have defined compile time dependencies to the framework kar and
the standard feature xml and runtime dependencies to the framework, spring and
enterprise feature xmls.
The karaf -maven-plugin defines framework-logback as framework, eventadmin as
startup feature, wrapper as installed feature, and standard and pax-war-tomcat
as boot features.
If I do this, everything seems to work as expected, I get a custom distribution
with logback logger and a tomcat web container:
...
pax-http | 6.0.3 | | Started | org.ops4j.pax.web-6.0.3 |
Implementation of the OSGI HTTP Service
pax-http-whiteboard | 6.0.3 | | Started | org.ops4j.pax.web-6.0.3 |
Provide HTTP Whiteboard pattern support
pax-war | 6.0.3 | | Started | org.ops4j.pax.web-6.0.3 |
Provide support of a full WebContainer
pax-http-tomcat | 6.0.3 | | Started | org.ops4j.pax.web-6.0.3 |
Provide Tomcat support
pax-war-tomcat | 6.0.3 | x | Started | org.ops4j.pax.web-6.0.3 |
Now I want to change the pax-web version (from 6.0.3 as defined in karaf 4.1.1
to 6.0.4). In order to do that, I added the pax-web feature xml in version
6.0.4 as a runtime dependency and changed the boot feature from
"pax-war-tomcat" to "pax-war-tomcat/6.0.4". The resulting distribution is a bit
weird.
Name | Version | Required | State | Repository
| Description
--------------------+------------------+----------+---------+-------------------------+--------------------------------------------------
pax-jetty | 9.3.14.v20161028 | | Started |
org.ops4j.pax.web-6.0.4 | Provide Jetty engine support
pax-http-jetty | 6.0.4 | | Started |
org.ops4j.pax.web-6.0.4 |
pax-http | 6.0.4 | | Started |
org.ops4j.pax.web-6.0.4 | Implementation of the OSGI HTTP Service
pax-http-whiteboard | 6.0.4 | | Started |
org.ops4j.pax.web-6.0.4 | Provide HTTP Whiteboard pattern support
pax-war | 6.0.4 | | Started |
org.ops4j.pax.web-6.0.4 | Provide support of a full WebContainer
pax-http-tomcat | 6.0.4 | | Started |
org.ops4j.pax.web-6.0.4 | Provide Tomcat support
pax-war-tomcat | 6.0.4 | x | Started |
org.ops4j.pax.web-6.0.4 |
...
pax-jetty | 9.3.14.v20161028 | | Started |
org.ops4j.pax.web-6.0.3 | Provide Jetty engine support
pax-http-jetty | 6.0.3 | | Started |
org.ops4j.pax.web-6.0.3 |
pax-http-whiteboard | 6.0.3 | | Started |
org.ops4j.pax.web-6.0.3 | Provide HTTP Whiteboard pattern support
pax-war | 6.0.3 | | Started |
org.ops4j.pax.web-6.0.3 | Provide support of a full WebContainer
pax-http-tomcat | 6.0.3 | | Started |
org.ops4j.pax.web-6.0.3 | Provide Tomcat support
As you can see there are not only the expected features installed (in version
6.0.3), but also the pax-web-jetty and the pax-jetty features. The installed
versions are not only 6.0.4 but also 6.0.3.
Does anyone have an idea what is going on here? What do I need to change to
avoid installing pax-http-jetty and pax-jetty? Why are actually both versions
installed (6.0.4 and 6.0.4)? I could not find any installed feature that
depends on pax-http-tomcat in version 6.0.3.
Best regards
Stephan