WebSocket problem with Jetty 9
Hello, I do my first steps using Apache Wicket and would like to test the WebSocket feature. However, I fail to get anything compiled and deployed. Wicket by itself seems to work (i,e. message in Index.html is replaced successfully). I am using Jetty 9.0.0M3 and Wicket 6.6.0. Here are my files. I think it has to do something with the location of the WebSocketCreator class and that it moved from the package org.eclipse.jetty.websocket.server in Jetty 9.0.0M2 to org.eclipse.jetty.websocket.servlet in Jetty 9.0.0M3 my/Index.html: !DOCTYPE html htmlheadmeta charset=UTF-8titleInsert title here/title/head bodyBlabla...span wicket:id=messageMessage would be here/span/body /html my/Index.java: import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.protocol.ws.api.WebSocketBehavior; public final class Index extends WebPage { public Index() { add(new Label(message, Hallo Welt!)); add(new WebSocketBehavior() {}); } } my/app.java: public class app extends WebApplication { @Override public Class? extends Page getHomePage() { return Index.class; } } web.xml: ?xml version=1.0 encoding=UTF-8? web-app xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns=http://java.sun.com/xml/ns/javaee; xmlns:web=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd http://java.sun.com/xml/ns/javaee%20http:/java.sun.com/xml/ns/javaee/web-ap p_3_0.xsd id=WebApp_ID version=3.0 display-nameAspiration for Ascension - Web Application/display-name context-param param-nameconfiguration/param-name param-valuedevelopment/param-value /context-param filter filter-namemyapp/filter-name filter-classorg.apache.wicket.protocol.ws.jetty9.Jetty9WebSocketFilter/fi lter-class init-param param-nameapplicationClassName/param-name param-valuemy.app/param-value /init-param /filter filter-mapping filter-namemyapp/filter-name url-pattern/*/url-pattern /filter-mapping /web-app pom.xml: project xmlns=http://maven.apache.org/POM/4.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd http://maven.apache.org/POM/4.0.0%20http:/maven.apache.org/maven-v4_0_0.xsd modelVersion4.0.0/modelVersion groupIdmy/groupId artifactIdapp/artifactId packagingwar/packaging version0.0.1-SNAPSHOT/version build finalNameapp/finalName /build dependencies dependency groupIdorg.slf4j/groupId artifactIdslf4j-jdk14/artifactId version1.7.2/version /dependency dependency groupIdorg.apache.wicket/groupId artifactIdwicket-core/artifactId version6.6.0/version /dependency dependency groupIdorg.apache.wicket/groupId artifactIdwicket-native-websocket-jetty9/artifactId version0.7/version /dependency /dependencies /project And here is the output when running Jetty: Running Jetty 9.0.0.M3 ParentLoaderPriority enabled Enable config class:runjettyrun.webapp.RJRWebInfConfiguration Enable config class:org.eclipse.jetty.webapp.WebXmlConfiguration Enable config class:runjettyrun.webapp.RJRMetaInfoConfiguration Enable config class:org.eclipse.jetty.webapp.FragmentConfiguration Enable config class:runjettyrun.annotation.RJRAnnotationConfiguration Enable config class:org.eclipse.jetty.webapp.JettyWebXmlConfiguration Enable config class:org.eclipse.jetty.webapp.TagLibConfiguration ProjectClassLoader: entry=D:\eclipse\workspace\my\target\classes ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-util-6.6.0.jar ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-request-6.6.0.jar ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-core-6.6.0.jar ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\slf4j-jdk14-1.7.2.jar ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\slf4j-api-1.7.2.jar ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-native-websocket- jetty9-0.7.jar ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-native-websocket- core-0.7.jar 2013-03-05 10:12:48.858:INFO:oejs.Server:main: jetty-9.0.0.M3 2013-03-05 10:12:49.949:WARN:oejuc.AbstractLifeCycle:main: FAILED My: java.lang.NoClassDefFoundError: org/eclipse/jetty/websocket/server/WebSocketCreator java.lang.NoClassDefFoundError: org/eclipse/jetty/websocket/server/WebSocketCreator at java.lang.Class.getDeclaredConstructors0(Native Method) at
Re: WebSocket problem with Jetty 9
Hi, Jetty 9.x APIs are not stable yet. wicket-native-websocket-jetty9 uses M0 and needs upgrade to the later 9.x milestone. You can either play with wicket-native-websocket-jetty (Jetty 7/8) or try to upgrade to the new Jetty 9.x APIs in wicket-native-websocket-jetty9 and contribute your work. On Tue, Mar 5, 2013 at 12:37 PM, Bjoern Wuest bjoern.wu...@gmx.net wrote: Hello, I do my first steps using Apache Wicket and would like to test the WebSocket feature. However, I fail to get anything compiled and deployed. Wicket by itself seems to work (i,e. message in Index.html is replaced successfully). I am using Jetty 9.0.0M3 and Wicket 6.6.0. Here are my files. I think it has to do something with the location of the WebSocketCreator class and that it moved from the package org.eclipse.jetty.websocket.server in Jetty 9.0.0M2 to org.eclipse.jetty.websocket.servlet in Jetty 9.0.0M3 my/Index.html: !DOCTYPE html htmlheadmeta charset=UTF-8titleInsert title here/title/head bodyBlabla...span wicket:id=messageMessage would be here/span/body /html my/Index.java: import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.protocol.ws.api.WebSocketBehavior; public final class Index extends WebPage { public Index() { add(new Label(message, Hallo Welt!)); add(new WebSocketBehavior() {}); } } my/app.java: public class app extends WebApplication { @Override public Class? extends Page getHomePage() { return Index.class; } } web.xml: ?xml version=1.0 encoding=UTF-8? web-app xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xmlns=http://java.sun.com/xml/ns/javaee; xmlns:web=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd http://java.sun.com/xml/ns/javaee%20http:/java.sun.com/xml/ns/javaee/web-ap p_3_0.xsd id=WebApp_ID version=3.0 display-nameAspiration for Ascension - Web Application/display-name context-param param-nameconfiguration/param-name param-valuedevelopment/param-value /context-param filter filter-namemyapp/filter-name filter-classorg.apache.wicket.protocol.ws.jetty9.Jetty9WebSocketFilter/fi lter-class init-param param-nameapplicationClassName/param-name param-valuemy.app/param-value /init-param /filter filter-mapping filter-namemyapp/filter-name url-pattern/*/url-pattern /filter-mapping /web-app pom.xml: project xmlns=http://maven.apache.org/POM/4.0.0; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd http://maven.apache.org/POM/4.0.0%20http:/maven.apache.org/maven-v4_0_0.xsd modelVersion4.0.0/modelVersion groupIdmy/groupId artifactIdapp/artifactId packagingwar/packaging version0.0.1-SNAPSHOT/version build finalNameapp/finalName /build dependencies dependency groupIdorg.slf4j/groupId artifactIdslf4j-jdk14/artifactId version1.7.2/version /dependency dependency groupIdorg.apache.wicket/groupId artifactIdwicket-core/artifactId version6.6.0/version /dependency dependency groupIdorg.apache.wicket/groupId artifactIdwicket-native-websocket-jetty9/artifactId version0.7/version /dependency /dependencies /project And here is the output when running Jetty: Running Jetty 9.0.0.M3 ParentLoaderPriority enabled Enable config class:runjettyrun.webapp.RJRWebInfConfiguration Enable config class:org.eclipse.jetty.webapp.WebXmlConfiguration Enable config class:runjettyrun.webapp.RJRMetaInfoConfiguration Enable config class:org.eclipse.jetty.webapp.FragmentConfiguration Enable config class:runjettyrun.annotation.RJRAnnotationConfiguration Enable config class:org.eclipse.jetty.webapp.JettyWebXmlConfiguration Enable config class:org.eclipse.jetty.webapp.TagLibConfiguration ProjectClassLoader: entry=D:\eclipse\workspace\my\target\classes ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-util-6.6.0.jar ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-request-6.6.0.jar ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-core-6.6.0.jar ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\slf4j-jdk14-1.7.2.jar ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\slf4j-api-1.7.2.jar ProjectClassLoader: entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-native-websocket- jetty9-0.7.jar ProjectClassLoader: