karaf-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guillaume Nodet <gno...@apache.org>
Subject Re: strange issue with karaf-maven-plugin
Date Tue, 30 May 2017 11:54:09 GMT
When the plugin creates the assembly, it needs to compute what resources
are needed for boot features.  Startup features are pre-installed, so the
resolution happens at build time, however, boot features are resolved at
startup time by the FeaturesService, which means it needs all the input
files.  If you have multiple versions for a given feature, the plugin will
put all the repositories in the assembly, so that the FeaturesService will
be responsible for doing the resolution and choosing which feature to
install.   That can explain why you have multiple versions in the assembly.

I'm not really sure why you would end up with both 6.0.3 and 6.0.4 versions
installed at runtime though.
Could you create a jira and attach a pom to replicate the issue, it may be
worth investigating...

2017-05-30 13:36 GMT+02:00 Siano, Stephan <stephan.siano@sap.com>:

> Hi,
>
> one update: After I added the boot following boot features
>                         <feature>pax-war-tomcat/6.0.4</feature>
>                         <feature>pax-http-whiteboard/6.0.4</feature>
>                         <feature>pax-http-tomcat/6.0.4</feature>
>                         <feature>pax-war/6.0.4</feature>
> it works, so I have a workaround for now, however it would be interesting
> to find out why this works.
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: Siano, Stephan [mailto:stephan.siano@sap.com]
> Sent: Dienstag, 30. Mai 2017 11:27
> To: user@karaf.apache.org
> Subject: strange issue with karaf-maven-plugin
>
> 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
>
>


-- 
------------------------
Guillaume Nodet

Mime
View raw message