Thanks Please give me some time (end of year is crazy as always)
regards Grzegorz Grzybek śr., 6 gru 2023 o 12:43 Bengt Rodehav <[email protected]> napisał(a): > Hello Grzegorz - thanks for your reply. > > I'm a bit puzzled as well regarding this. It's a bit strange why iPojo > needs this class. However, iPojo is not actively being maintained anymore > (although a version is on the way to support Java 21) so maybe it's easier > to fix this in pax-web-api. > > I created the following JIRA: > > https://github.com/ops4j/org.ops4j.pax.web/issues/1921 > > /Bengt > > > Den tis 5 dec. 2023 kl 18:08 skrev Grzegorz Grzybek <[email protected] > >: > >> 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 >> <https://groups.google.com/d/msgid/ops4j/CAAdXmhp0NB6%2BU730QgxS2dW7g59VWSgv5dQ%2BcvEAjRQE07c%2BAQ%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/CAJ0TPGJfRC9O3L_Vs6XN3x3xOneyBb1asE77MT32yuwBr1F%2BBA%40mail.gmail.com > <https://groups.google.com/d/msgid/ops4j/CAJ0TPGJfRC9O3L_Vs6XN3x3xOneyBb1asE77MT32yuwBr1F%2BBA%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/CAAdXmhowEsnx%2B80wJtVdJpO56YYJYnLypLv4rxan3LH2EXmjKw%40mail.gmail.com.
