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.

Reply via email to