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> > > <html><head><meta charset="UTF-8"><title>Insert title here</title></head> > > <body>Blabla...<span wicket:id="message">Message 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-name>Aspiration for Ascension - Web Application</display-name> > > <context-param> > > <param-name>configuration</param-name> > > <param-value>development</param-value> > > </context-param> > > <filter> > > <filter-name>myapp</filter-name> > > > > <filter-class>org.apache.wicket.protocol.ws.jetty9.Jetty9WebSocketFilter</fi > lter-class> > > <init-param> > > <param-name>applicationClassName</param-name> > > <param-value>my.app</param-value> > > </init-param> > > </filter> > > <filter-mapping> > > <filter-name>myapp</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 > > "> > > <modelVersion>4.0.0</modelVersion> > > <groupId>my</groupId> > > <artifactId>app</artifactId> > > <packaging>war</packaging> > > <version>0.0.1-SNAPSHOT</version> > > <build> > > <finalName>app</finalName> > > </build> > > <dependencies> > > <dependency> > > <groupId>org.slf4j</groupId> > > <artifactId>slf4j-jdk14</artifactId> > > <version>1.7.2</version> > > </dependency> > > <dependency> > > <groupId>org.apache.wicket</groupId> > > <artifactId>wicket-core</artifactId> > > <version>6.6.0</version> > > </dependency> > > <dependency> > > <groupId>org.apache.wicket</groupId> > > <artifactId>wicket-native-websocket-jetty9</artifactId> > > <version>0.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 java.lang.Class.privateGetDeclaredConstructors(Class.java:2413) > > at java.lang.Class.getConstructor0(Class.java:2723) > > at java.lang.Class.newInstance0(Class.java:345) > > at java.lang.Class.newInstance(Class.java:327) > > at > > org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(Servlet > ContextHandler.java:1067) > > at > org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:103) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at > > org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:739) > > at > > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextH > andler.java:279) > > at > > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1320) > > at > > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java: > 706) > > at > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:485) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at > > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle > .java:108) > > at org.eclipse.jetty.server.Server.start(Server.java:307) > > at > > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCyc > le.java:90) > > at > > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.jav > a:58) > > at org.eclipse.jetty.server.Server.doStart(Server.java:274) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at runjettyrun.Bootstrap.main(Bootstrap.java:80) > > 2013-03-05 10:12:49.950:WARN:oejuc.AbstractLifeCycle:main: FAILED > o.e.j.w.WebAppContext@1ee4296 > {/,[file:/D:/eclipse/workspace/My/target/My/],S > TARTING} > <mailto:o.e.j.w.WebAppContext@1ee4296 > %7b/,%5bfile:/D:/eclipse/workspace/My/t > arget/My/%5d,STARTING%7d> : 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 java.lang.Class.privateGetDeclaredConstructors(Class.java:2413) > > at java.lang.Class.getConstructor0(Class.java:2723) > > at java.lang.Class.newInstance0(Class.java:345) > > at java.lang.Class.newInstance(Class.java:327) > > at > > org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(Servlet > ContextHandler.java:1067) > > at > org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:103) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at > > org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:739) > > at > > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextH > andler.java:279) > > at > > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1320) > > at > > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java: > 706) > > at > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:485) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at > > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle > .java:108) > > at org.eclipse.jetty.server.Server.start(Server.java:307) > > at > > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCyc > le.java:90) > > at > > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.jav > a:58) > > at org.eclipse.jetty.server.Server.doStart(Server.java:274) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at runjettyrun.Bootstrap.main(Bootstrap.java:80) > > 2013-03-05 10:12:49.951:WARN:oejuc.AbstractLifeCycle:main: FAILED > org.eclipse.jetty.server.Server@155b814: 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 java.lang.Class.privateGetDeclaredConstructors(Class.java:2413) > > at java.lang.Class.getConstructor0(Class.java:2723) > > at java.lang.Class.newInstance0(Class.java:345) > > at java.lang.Class.newInstance(Class.java:327) > > at > > org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(Servlet > ContextHandler.java:1067) > > at > org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:103) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at > > org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:739) > > at > > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextH > andler.java:279) > > at > > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1320) > > at > > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java: > 706) > > at > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:485) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at > > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle > .java:108) > > at org.eclipse.jetty.server.Server.start(Server.java:307) > > at > > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCyc > le.java:90) > > at > > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.jav > a:58) > > at org.eclipse.jetty.server.Server.doStart(Server.java:274) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at runjettyrun.Bootstrap.main(Bootstrap.java:80) > > Exception in thread "main" java.lang.NoClassDefFoundError: > org/eclipse/jetty/websocket/server/WebSocketCreator > > at java.lang.Class.getDeclaredConstructors0(Native Method) > > at java.lang.Class.privateGetDeclaredConstructors(Class.java:2413) > > at java.lang.Class.getConstructor0(Class.java:2723) > > at java.lang.Class.newInstance0(Class.java:345) > > at java.lang.Class.newInstance(Class.java:327) > > at > > org.eclipse.jetty.servlet.ServletContextHandler$Context.createFilter(Servlet > ContextHandler.java:1067) > > at > org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:103) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at > > org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:739) > > at > > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextH > andler.java:279) > > at > > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1320) > > at > > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java: > 706) > > at > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:485) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at > > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle > .java:108) > > at org.eclipse.jetty.server.Server.start(Server.java:307) > > at > > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCyc > le.java:90) > > at > > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.jav > a:58) > > at org.eclipse.jetty.server.Server.doStart(Server.java:274) > > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.j > ava:69) > > at runjettyrun.Bootstrap.main(Bootstrap.java:80) > > > > -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com <http://jweekend.com/>