Of course. Appreciate your help.

I also cross posted this on the Felix mailing list in case this is an iPojo
problem.

In general, I wonder if a bundle both imports and exports packages, is it a
problem that it does not include "all" packages?

/Bengt

Den ons 6 dec. 2023 kl 12:59 skrev Grzegorz Grzybek <gr.grzy...@gmail.com>:

> 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 <be...@rodehav.com> 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 <gr.grzy...@gmail.com
>> >:
>>
>>> 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 <be...@rodehav.com> 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 org.ops4j.pax....@noreply.github.com 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 - ops4j@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+unsubscr...@googlegroups.com.
>>>> 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 - ops4j@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+unsubscr...@googlegroups.com.
>>> 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 - ops4j@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+unsubscr...@googlegroups.com.
>> 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 - ops4j@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+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ops4j/CAAdXmhowEsnx%2B80wJtVdJpO56YYJYnLypLv4rxan3LH2EXmjKw%40mail.gmail.com
> <https://groups.google.com/d/msgid/ops4j/CAAdXmhowEsnx%2B80wJtVdJpO56YYJYnLypLv4rxan3LH2EXmjKw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
------------------
OPS4J - http://www.ops4j.org - ops4j@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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ops4j/CAJ0TPGLLHkEJ19vzK33oF-PFp8B72iE%3Df6jQYo5O0LTELNqcJg%40mail.gmail.com.

Reply via email to