Hello Thanks for the report - please create an issue at https://github.com/ops4j/org.ops4j.pax.web/issues and we can have a fix soon (before Christmas).
Indeed - pax-web-api doesn't import this package, because it doesn't need/use it - I didn't expect other bundle (ipojo) will use this bundle to load the javax/servlet/descriptor/JspPropertyGroupDescriptor class - it should rather use the bundle wiring and use reachable bundles to load the class it needs... Are you aware what ipojo is doing with classloaders? I never used ipojo tbh... regards Grzegorz Grzybek wt., 5 gru 2023 o 17:01 Bengt Rodehav <[email protected]> napisaĆ(a): > I seemed to have written to the wrong mailing list - perhaps that is the > reason why I got no reply :-) > > I wrote to [email protected] but I guess it's not > active anymore. > > I'll recap what I wrote on the other list... > > --- > > I am using Karaf 4.4.4 with Pax-Web 8.0.22. > > I get the following error in the log: > > 2023-11-30T17:55:19,274 | ERROR | [iPOJO] pool-1-thread-1 | web-console > | 108 - se.digia.seco.web.web-console - 3.1.0.SNAPSHOT | > [ERROR] : Cannot create the proxy object > java.lang.NoClassDefFoundError: > javax/servlet/descriptor/JspPropertyGroupDescriptor > at java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?] > at java.lang.Class.privateGetDeclaredMethods(Class.java:3402) ~[?:?] > at java.lang.Class.privateGetPublicMethods(Class.java:3427) ~[?:?] > at java.lang.Class.getMethods(Class.java:2019) ~[?:?] > at > org.apache.felix.ipojo.handlers.dependency.ProxyGenerator.dumpProxy(ProxyGenerator.java:89) > ~[!/:?] > at > org.apache.felix.ipojo.handlers.dependency.Dependency$SmartProxyFactory.getProxyClass(Dependency.java:1133) > ~[!/:?] > at > org.apache.felix.ipojo.handlers.dependency.Dependency$SmartProxyFactory.getProxy(Dependency.java:1151) > [!/:?] > at > org.apache.felix.ipojo.handlers.dependency.Dependency.start(Dependency.java:516) > [!/:?] > at > org.apache.felix.ipojo.handlers.dependency.DependencyHandler.__M_start(DependencyHandler.java:496) > [!/:?] > at > org.apache.felix.ipojo.handlers.dependency.DependencyHandler.start(DependencyHandler.java) > [!/:?] > at org.apache.felix.ipojo.HandlerManager.start(HandlerManager.java:136) > [!/:?] > at org.apache.felix.ipojo.InstanceManager.start(InstanceManager.java:421) > [!/:?] > at > org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.java:179) > [!/:?] > at > org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:319) > [!/:?] > at > org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:240) > [!/:?] > at > org.apache.felix.ipojo.extender.internal.linker.ManagedType$InstanceSupport$1.call(ManagedType.java:312) > [!/:?] > at > org.apache.felix.ipojo.extender.internal.linker.ManagedType$InstanceSupport$1.call(ManagedType.java:306) > [!/:?] > at > org.apache.felix.ipojo.extender.internal.queue.JobInfoCallable.call(JobInfoCallable.java:114) > [!/:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) > [?:?] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) > [?:?] > at java.lang.Thread.run(Thread.java:833) [?:?] > Caused by: java.lang.ClassNotFoundException: > javax.servlet.descriptor.JspPropertyGroupDescriptor not found by > org.ops4j.pax.web.pax-web-api [94] > at > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1591) > ~[?:?] > at > org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79) > ~[?:?] > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1976) > ~[?:?] > at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?] > ... 22 more > > In Pax-Web 7.3.23 (used in Karaf 4.3.3) the following bundle was included: > > javax.servlet-api/3.1.0 > > In Pax-Web 8.0.22 (used in Karaf 4.4.4) it has been replaced by the > following pair: > > jakarta.servlet-api/4.0.4 > pax-web-compatibility-servlet31/8.0.22 > > I am using Servlet 3.1 which was provided cleanly in Pax-Web 7.3.23. But > in 8.0.22 it is instead provided by the Servlet 4.0 bundle in combination > with a fragment that (if I understand correctly) re-exports that code as > version 3.1. Correct me if I am wrong. > > This setup doesn't seem to work with iPojo. > > Looking at the bundle org.ops4j.pax.web/pax-web-api/8.0.22, it seems like > it only imports the following javax.servlet packages: > > javax.servlet; version="[3.1, 5)", > javax.servlet.annotation; version="[3.1, 5)", > javax.servlet.http; version="[3.1, 5)" > > ...but not > > javax.servlet.descriptor > > If I add the following: > > javax.servlet.descriptor;version="[3.1,5)" > > To the Import-Package section of the MANIFEST.MF of the pax-we-api jar, > then it works. It makes me wonder if this import is missing in pax-web-api. > > I created a fragment that adds the above import to pax-web-api. It seems > to work but is only a quickfix. I would appreciate it if someone more OSGi > savy could explain what is actually happening. > > /Bengt > > > -- > -- > ------------------ > OPS4J - http://www.ops4j.org - [email protected] > > --- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/ops4j/CAJ0TPGJc8onoMjDr3RDPaWQRWXWryLiXyVEHD6gSmseZ934bxg%40mail.gmail.com > <https://groups.google.com/d/msgid/ops4j/CAJ0TPGJc8onoMjDr3RDPaWQRWXWryLiXyVEHD6gSmseZ934bxg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- -- ------------------ OPS4J - http://www.ops4j.org - [email protected] --- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ops4j/CAAdXmhp0NB6%2BU730QgxS2dW7g59VWSgv5dQ%2BcvEAjRQE07c%2BAQ%40mail.gmail.com.
