Antoine DESSAIGNE created FELIX-6599:
----------------------------------------
Summary: javax.servlet incompatibility between Felix HTTP Jetty
Light 4.2.8 and Jetty 9.4.x
Key: FELIX-6599
URL: https://issues.apache.org/jira/browse/FELIX-6599
Project: Felix
Issue Type: Bug
Components: Lightweight HTTP Service
Affects Versions: http.jetty-4.2.8
Reporter: Antoine DESSAIGNE
Hello everyone,
We detected what looks like an inconsistency in Felix HTTP Jetty Light 4.2.8
(where Jetty is an external jar and not inlined).
In the {{MANIFEST.MF}} file we can see
{noformat}
Import-Package:
javax.servlet.descriptor;version="[3.1,4)"
javax.servlet.http;version="[3.1,4)"
javax.servlet;version="[3.1,4)"
...
Require-Capability:
osgi.contract;filter:="(&(osgi.contract=JavaServlet)(version=4.0))",osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
{noformat}
So it asks for {{javax.servlet}} in version range [3.1,4) but ask for a 4.0
Java Servlet capability. Unfortunately
{{org.apache.felix.http.base.internal.registry.PathResolverFactory}} uses
{{javax.servlet.http.MappingMatch}} which is only available starting in 4.0.
Felix HTTP Jetty Light uses Jetty 9.4.50.v20221201 which requires
{{javax.servlet}} in version range [3.1,4).
So it looks like in the 4.2.x branch, {{javax.servlet}} should be in 3.1.0 and
{{javax.servlet.http.MappingMatch}} should not be used. Am I right or is there
something I did wrong?
Thank you for your help
--
This message was sent by Atlassian Jira
(v8.20.10#820010)