I found out that the two versions of Jetty are install because I had version 4.3.1 of pax-web-feature in the Maven dependency of the Karaf assembly project.
I mixed up the Karaf-Version with the Pax-Web version. The correct version for pax-web-feature is 7.3.13. Regards Richard Am Fr., 23. Apr. 2021 um 09:39 Uhr schrieb Richard Hierlmeier < [email protected]>: > > I currenty migrating an application from Karaf 3 to Karaf 4.3.1. I cannot > get it running. > I guess the problem is related to a servlet that has web socket support > > I found out that I have two versions of Jetty in my application: > > karaf@root()> feature:list -i |grep -i jetty > jetty | 9.4.38.v20210224 | | Started | > standard-4.3.1 | Transition feature for backward compatibility > pax-jetty | 9.2.21.v20170120 | | Started | > org.ops4j.pax.web-4.3.1 | Provide Jetty engine support > cxf-http-jetty | 3.4.3 | | Started | > cxf-3.4.3 | > pax-jetty | 9.4.38.v20210224 | | Started | > org.ops4j.pax.web-7.3.13 | Provide Jetty engine support > pax-http-jetty | 7.3.13 | | Started | > org.ops4j.pax.web-7.3.13 | > > I stripped down the list of boot features and found out that the > http-feature installs the two jetty versions. > I read already this thread > http://karaf.922171.n3.nabble.com/Two-versions-of-jetty-td4055919.html, > but think it it not releated to my problem. > > Is this normal that two versions of Jetty are active? > > Here is the part of the log file that shows the exception: > > 2021-04-23T09:18:50,199 | INFO | features-3-thread-1 | > FeaturesServiceImpl | 16 - org.apache.karaf.features.core - > 4.3.1 | org.eclipse.jetty.websocket.servlet/9.4.38.v20210224 > 2021-04-23T09:18:50,199 | INFO | features-3-thread-1 | > FeaturesServiceImpl | 16 - org.apache.karaf.features.core - > 4.3.1 | org.eclipse.jetty.websocket.server/9.2.21.v20170120 > 2021-04-23T09:18:50,199 | ERROR | features-3-thread-1 | Felix > | 3 - org.ops4j.pax.logging.pax-logging-api - 2.0.8 | Bundle > org.apache.aries.spifly.dynamic.bundle [44] EventDispatcher: Error during > dispatch. (java.lang.NoClassDefFoundError: > org/eclipse/jetty/websocket/common/SessionListener) > java.lang.NoClassDefFoundError: > org/eclipse/jetty/websocket/common/SessionListener > at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_202] > at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_202] > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2312) > ~[?:?] > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClassParallel(BundleWiringImpl.java:2130) > ~[?:?] > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2064) > ~[?:?] > at > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1533) > ~[?:?] > 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) ~[?:1.8.0_202] > at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:2089) ~[?:?] > at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:978) > ~[?:?] > at > org.apache.aries.spifly.ProviderBundleTrackerCustomizer.addingBundle(ProviderBundleTrackerCustomizer.java:143) > ~[?:?] > at > org.apache.aries.spifly.ProviderBundleTrackerCustomizer.addingBundle(ProviderBundleTrackerCustomizer.java:64) > ~[?:?] > at > org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:475) > ~[osgi.core-7.0.0.jar:?] > at > org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:420) > ~[osgi.core-7.0.0.jar:?] > at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > ~[osgi.core-7.0.0.jar:?] > at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > ~[osgi.core-7.0.0.jar:?] > at > org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) > ~[osgi.core-7.0.0.jar:?] > at > org.apache.felix.framework.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:915) > ~[?:?] > at > org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:834) > ~[?:?] > at > org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:516) > ~[?:?] > at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4817) ~[?:?] > at org.apache.felix.framework.Felix.activateBundle(Felix.java:2393) ~[?:?] > at org.apache.felix.framework.Felix.startBundle(Felix.java:2308) ~[?:?] > at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) ~[?:?] > at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) ~[?:?] > at > org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165) > ~[?:?] > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1160) > ~[?:?] > at > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1041) > ~[?:?] > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069) > ~[?:?] > at > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004) > ~[?:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_202] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [?:1.8.0_202] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [?:1.8.0_202] > at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202] > Caused by: java.lang.ClassNotFoundException: > org.eclipse.jetty.websocket.common.SessionListener not found by > org.eclipse.jetty.websocket.common [188] > 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) ~[?:1.8.0_202] > at > org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1343) > ~[?:?] > at > org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1586) > ~[?:?] > at > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1516) > ~[?:?] > 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) ~[?:1.8.0_202] > ... 35 more > > Regards > > Richard >
