org.ops4j.pax.web.pax-web-extender-whiteboard 8.0.10 - Bad Manifest Entry

14 views
Skip to first unread message

dave....@candata.com

unread,
Dec 5, 2022, 7:41:50 PM12/5/22
to OPS4J
In the manifest your servlet def
 javax.servlet.annotation;version="[3.1,5)"
                                        javax.servlet.http;version="[3.1,5)"
                                        javax.servlet;version="[3.1,5)"

However you reference

Which is only available in the 4.0 Servlet Spec

Dave

dave....@candata.com

unread,
Dec 6, 2022, 1:54:26 PM12/6/22
to OPS4J
Just downloaded 8.0.14 , it still has the same bad Manifest Entry

Grzegorz Grzybek

unread,
Dec 8, 2022, 12:39:31 PM12/8/22
to op...@googlegroups.com
Hello

First - your message was marked as spam (I clicked that it's not a spam).
Second - that doesn't really matter that much. Jetty in Pax Web 8 is still based on Servlet API 3.1 and Karaf features related to Pax Web 8 are using Servlet API 4 with special fragment that adds 3.1 export to satisfy Jetty.

kind regards
Grzegorz Grzybek

--
--
------------------
OPS4J - http://www.ops4j.org - op...@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ops4j+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ops4j/66590dd1-7fe4-4d03-beb1-b16d48b31d50n%40googlegroups.com.

Dave Smith

unread,
Dec 8, 2022, 2:29:53 PM12/8/22
to op...@googlegroups.com
What is the fragment bundle that adds the 3.1 . I am currently including the 4.0 and 3.0 javax.servlet.

This is the 4.0->  jakarta.servlet-api
And the 3.1 -> javax.servlet-api

I am using
org.ops4j.pax.web.pax-web-api
org.ops4j.pax.web.pax-web-extender-whiteboard
org.ops4j.pax.web.pax-web-jetty-bundle
org.ops4j.pax.web.pax-web-spi

Dave

Grzegorz Grzybek

unread,
Dec 9, 2022, 12:36:20 AM12/9/22
to op...@googlegroups.com
Hello

The fragments are present in Pax Web 8+ like here: https://github.com/ops4j/org.ops4j.pax.web/tree/web-8.0.14/pax-web-fragments
They're (some of them) declared in special "pax-web-specs" feature:

<feature name="pax-web-specs" description="Jakarta web APIs and related bundle fragments adding osgi.contract capabilities" version="${project.version}">
  <details>
    Crucial APIs needed by Pax Web. "Canonical" jakarta.* bundles are used and Pax Web specific fragments
    are adding osgi.contract headers.
    This feature should be used if the custom Karaf distribution doesn't provide relevant APIs from
    system bundle (org.osgi.framework.system.packages[.extra])
  </details>

  <!-- Annotation API and osgi.contract=JavaAnnotation, versions 1.3, 1.2, 1.1, 1.0 -->
  <bundle start-level="30">mvn:jakarta.annotation/jakarta.annotation-api/${dependency.jakarta.annotation-api}</bundle>
  <bundle start-level="30" start="false">mvn:org.ops4j.pax.web/pax-web-compatibility-annotation13/${project.version}</bundle>
  <!-- EL API and osgi.contract=JavaEL, versions 3.0, 2.2, 2.1, 2.0, 1.0 -->
  <bundle start-level="30">mvn:jakarta.el/jakarta.el-api/${dependency.jakarta.el-api}</bundle>
  <bundle start-level="30" start="false">mvn:org.ops4j.pax.web/pax-web-compatibility-el2/${project.version}</bundle>
  <!-- Servlet API and osgi.contract=JavaServlet, versions 4.0, 3.1, 3.0, 2.6 -->
  <bundle start-level="30">mvn:jakarta.servlet/jakarta.servlet-api/${dependency.jakarta.servlet-api}</bundle>
  <bundle start-level="30" start="false">mvn:org.ops4j.pax.web/pax-web-compatibility-servlet31/${project.version}</bundle>
</feature>

kind regards
Grzegorz Grzybek

dave....@candata.com

unread,
Dec 9, 2022, 1:00:31 PM12/9/22
to OPS4J
Super that worked.

For the record the bundle you need is org.ops4j.pax.web.pax-web-compatibility-servlet31

Dave
Reply all
Reply to author
Forward
0 new messages