I upgraded meanwhile to Karaf 4.3.2, but the problem is still present. vaadin-server bundle has no dynamic imports. I can see the import in the vaadin-server bundle:
karaf@root()> la -u | grep vaadin-server 148 | Active | 80 | 8.13.0 | mvn:com.vaadin/vaadin-server/8.13.0 karaf@root()> headers 148 ... Import-Package = ... org.atmosphere.cpr;resolution:=optional;version=2.4.30.vaadin3, ... I have the following feature dependencies: vaadin<- ONE <- TWO karaf@root()> shutdown > bin/karaf.bat clean kara@root()> feature:repo-add ... karaf@root()> feature:install TWO > grep vaadin-server data/log/karaf.log 2021-06-21T07:23:43,335 | INFO | features-3-thread-1 | FeaturesServiceImpl | 18 - org.apache.karaf.features.core - 4.3.2 | mvn:com.vaadin/vaadin-server/8.13.0 2021-06-21T07:23:44,075 | INFO | features-3-thread-1 | FeaturesServiceImpl | 18 - org.apache.karaf.features.core - 4.3.2 | mvn:com.vaadin/vaadin-server/8.13.0 In this constellation I get now the NoClassDefFoundError when accessing the Vaadin UI. karaf@root()> shutdown > bin/karaf.bat clean karaf@root()> feature:repo-add ... karaf@root()> feature:install ONE > grep vaadin-server data/log/karaf.log 2021-06-21T07:28:53,691 | INFO | features-3-thread-1 | FeaturesServiceImpl | 18 - org.apache.karaf.features.core - 4.3.2 | mvn:com.vaadin/vaadin-server/8.13.0 2021-06-21T07:28:54,230 | INFO | features-3-thread-1 | FeaturesServiceImpl | 18 - org.apache.karaf.features.core - 4.3.2 | mvn:com.vaadin/vaadin-server/8.13.0 Now I can access the Vaadin UI. kara@root()> feature:install TWO Vaadin UI is still working. Are you interested in analyzing this problem? I can provide an instance in a public cloud. Regards Richard Am Sa., 19. Juni 2021 um 06:39 Uhr schrieb Jean-Baptiste Onofre < j...@nanthrax.net>: > Hi Richard, > > Did you see a refresh when you install feature TWO ? > > Do you see org.atmosphere.cpr import in vaadin server bundle or is it a > dynamic import ? > > Regards > JB > > Le 18 juin 2021 à 18:21, Richard Hierlmeier <rhierlme...@googlemail.com> > a écrit : > > > I have a strange error in a Vaadin application running in Karaf 4.3.1. I > have two features, that use Vaadin. Feature ONE works fine. When feature > TWO is deployed I get the following error when accessing the Vaadin UI: > > java.lang.NoClassDefFoundError: org/atmosphere/cpr/AtmosphereHandler > at > com.vaadin.server.VaadinServletService.createRequestHandlers(VaadinServletService.java:68) > at com.vaadin.server.VaadinService.init(VaadinService.java:219) > at > com.vaadin.server.VaadinServlet.createServletService(VaadinServlet.java:380) > at com.vaadin.server.VaadinServlet.init(VaadinServlet.java:210) > at de.hierlmeier.karaf.vaadinsample.UIServlet.init(UIServlet.java:44) > at > org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:624) > at > org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:478) > at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:751) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545) > at > org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > ... > at java.lang.Thread.run(Thread.java:748) > Caused by: java.lang.ClassNotFoundException: > org.atmosphere.cpr.AtmosphereHandler not found by com.vaadin.server [159] > at > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1565) > at > org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:78) > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1950) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > ... 39 more > > I debugged the code down to the class BundleWiringImpl and found out that > when feature TWO is deployed, then the package org.atmosphere.cpr is no > longer in the m_importedPkgs Variable of BundleWiringImpl instance of > bundle 159. > > However the Karaf console tells me that the import is available: > > de@root()> imports -b 159 | grep org.atmosphere.cpr > org.atmosphere.cpr | [2.4.30.vaadin3,) | > resolved | 159 | com.vaadin.server > > The bundle that exports org.atmosphere.cpr is also available: > > de@root()> exports | grep org.atmosphere.cpr > org.atmosphere.cpr > | 2.4.30.vaadin3 | 155 | > com.vaadin.external.atmosphere.runtime > > > > Regards > > Richard > > > > > > > > > > >