Hi Tom,

I will take a look on your code.

You custom distribution needs the log feature providing slf4j packages, else wrap will need the slf4j package.

Tom, it's really hard to follow how you define your feature/custom distribution.

I propose to share the code and chat directly (on hangout/skype/private e-mail).

Regards
JB

On 06/14/2017 01:13 PM, [email protected] wrote:
I have put together a simple example of the problem I'm been encountering 
attempting to create a custom karaf distribution.

If you attempt to include a bundle such as 
org.apache.felix:org.apache.felix.http.servlet-api in a feature, you get this 
build error:

missing requirement [org.ops4j.pax.url.wrap/2.5.2] osgi.wiring.package; 
filter:="(&(osgi.wiring.package=org.slf4j)(version>=1.6.0)(!(version>=2.0.0)))"

org.apache.felix.http.servlet-api has a "compile" dependency on 
org.apache.tomcat/tomcat-servlet-api/8.0.9 and this is interpreted by the karaf maven 
plugin as a dependency. Whether it should do that or not I don't know. It doesn't seem 
like it should, but that's not the issue. Having made that interpretation, it then adds a 
dependency on wrap:mvn:org.apache.tomcat/tomcat-servlet-api/8.0.9, since it isn't proper 
OSGi bundle. The build then fails with the above error.

I don't understand how to resolve this issue.

If I remove this and build karaf, in the result, I can see that wrap starts, 
and satisfies the requirement from the pax-logging bundle:
   Imported Packages
   org.slf4j,version=1.7.13 from org.ops4j.pax.logging.pax-logging-api (6)
   org.slf4j,version=1.7.7 from org.ops4j.pax.logging.pax-logging-api (6)
   org.slf4j,version=1.7.1 from org.ops4j.pax.logging.pax-logging-api (6)
   org.slf4j,version=1.6.6 from org.ops4j.pax.logging.pax-logging-api (6)
   org.slf4j,version=1.5.11 from org.ops4j.pax.logging.pax-logging-api (6)
   org.slf4j,version=1.4.3 from org.ops4j.pax.logging.pax-logging-api (6)

So I don't get why it can't be resolved during the build. Is there some dependency I need 
to add to my feature in the features.xml file? It doesn't feel like I should, as my 
feature doesn't really depend on "wrap", and I shouldn't be concerned with what 
it itself then depends on?

It feels like the dependency on tomcat-servlet-api is being added in error, but 
I could live with that if I could get the result to compile.

See code at https://github.com/tomq42/karaf-tests-1

Thanks.


--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to