[ https://issues.apache.org/jira/browse/FELIX-6599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17699640#comment-17699640 ]
Carsten Ziegeler commented on FELIX-6599: ----------------------------------------- [~antoine.dessaigne] Jetty 9 only implements servlet 3.1 (not 4); therefore the package range for jetty bundles is ok. With Apache Felix Http Base we support Servlet 4 as an optional feature; at least thats how it should be. However, this optional support requires *at runtime* a servlet 4 api. I suggest you use [https://repo.maven.apache.org/maven2/org/apache/felix/org.apache.felix.http.servlet-api/1.2.0/] instead of javax.servlet-api and then all should work out fine. > 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: HTTP Service > Affects Versions: http.jetty-4.2.8 > Reporter: Antoine DESSAIGNE > Assignee: Carsten Ziegeler > Priority: Major > Fix For: http.jetty-4.2.10, http.base-4.2.6, http.bridge-4.2.8 > > > 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)