Re: missing requirement osgi.contract=JavaServlet

2017-06-12 Thread Tim Ward
In answer to your question, yes PAX Web should be providing the contract. Tim Sent from my iPhone > On 12 Jun 2017, at 13:48, t...@quarendon.net wrote: > > OK, I've "solved" this by creating an additional bundle that simply has the > required: > > Provide-Capability:

Re: missing requirement osgi.contract=JavaServlet

2017-06-12 Thread Tim Ward
Hi Achim, This isn't particularly new, the original recommendation is at least three years old and was blogged about in 2014 (http://blog.osgi.org/2014/09/portable-java-contracts-for-javax.html?m=1). The complexity comes from the fact that Java EE uses marketing versions for API, not

Re: missing requirement osgi.contract=JavaServlet

2017-06-12 Thread Achim Nierbeck
You are right, pax-web should provide you with that, please open an issue for it at https://ops4j1.jira.com/projects/PAXWEB if you don't have an account, give me a ping I'll create that one for you. till this point in time, I wasn't even aware of that possible contract, that's why it's missing.

Re: missing requirement osgi.contract=JavaServlet

2017-06-12 Thread tom
OK, I've "solved" this by creating an additional bundle that simply has the required: Provide-Capability: osgi.contract;osgi.contract=JavaServlet;version:Vers ion="3.1";uses:="javax.servlet,javax.servlet.http,javax.servlet.descrip tor,javax.servlet.annotation" line in the MANIFEST. I say

Re: missing requirement osgi.contract=JavaServlet

2017-06-12 Thread Achim Nierbeck
Ok ... that's new, and when did that happen? Which package is supposed to provide that? And why do we now need another re-package package of the already available servlet api package? That's one of those moments I really can see why people say OSGi makes everything far to complex ... regards,

Re: missing requirement osgi.contract=JavaServlet

2017-06-12 Thread Tim Ward
Requiring the JavaServlet contract is a good idea, and recommended by the OSGi Alliance (https://www.osgi.org/portable-java-contract-definitions/). You need a bundle which provides the contract in your runtime. I'd suggest using the repackaged servlet api from Apache Felix. Tim Sent from my

Re: missing requirement osgi.contract=JavaServlet

2017-06-12 Thread Achim Nierbeck
taken from your first mail, your bundle mybundle seems to declare an osgi contract on JavaServlet. Never seen that kind of dependency before. Make sure you have a clean import-package export-package structure in your bundle. I think that is your root issue. regarding using pax-web instead of

RE: missing requirement osgi.contract=JavaServlet

2017-06-12 Thread tom
With regard to the "wrap/0.0.0" error, running Maven with -X gives me: Caused by: org.apache.karaf.features.internal.service.Deployer$CircularPrerequisiteException: [wrap/0.0.0] at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:266) at