Jetty 9.2.4 Servlet Context不会初始化

时间:2014-12-17 18:18:31

标签: java jetty jetty-9

我正在尝试运行jetty 9.2.4版本,但我得到以下异常。相同的服务器设置在我的本地设置(mac),登台环境(linux,ubutnu)上正常工作,但在我试图设置它的另一台服务器上不起作用。请求表明可能出现的问题。我几乎一无所知。

:/ WEBCHAT / jetty-distribution-9.2.4.v20141103 #java -jar start.jar 2014-12-17 08:24:11.695:INFO :: main:记录初始化@ 1221ms 2014-12-17 08:24:11.947:警告:oejs.HomeBaseWarning:main:这个Jetty实例不是从一个单独的{jetty.base}目录运行的,不建议这样做。请参阅http://www.eclipse.org/jetty/documentation/current/startup.html处的文档 2014-12-17 08:24:12.848:INFO:oejs.Server:main:jetty-9.2.4.v20141103 2014-12-17 08:24:12.879:INFO:oejs.AbstractNCSARequestLog:main:已打开/WEBCHAT/jetty-distribution-9.2.4.v20141103/logs/2014_12_17.request.log 2014-12-17 08:24:12.943:INFO:oejdp.ScanningAppProvider:main:部署监视器[文件:/WEBCHAT/jetty-distribution-9.2.4.v20141103/webapps/],间隔为1 2014-12-17 08:24:29.188:警告:oejuc.AbstractLifeCycle:main:FAILED org.eclipse.jetty.annotations.ServletContainerInitializersStarter@29b95cf5:java.lang.NoClassDefFoundError:org / eclipse / jetty / websocket / WebSocket $ OnTextMessage java.lang.NoClassDefFoundError:org / eclipse / jetty / websocket / WebSocket $ OnTextMessage     at java.lang.ClassLoader.defineClass1(Native Method)     at java.lang.ClassLoader.defineClass(ClassLoader.java:800)     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)     at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)     在java.net.URLClassLoader.access $ 100(URLClassLoader.java:71)     在java.net.URLClassLoader $ 1.run(URLClassLoader.java:361)     在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)     at java.security.AccessController.doPrivileged(Native Method)     在java.net.URLClassLoader.findClass(URLClassLoader.java:354)     在org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510)     在org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441)     在org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)

1 个答案:

答案 0 :(得分:1)

班级org/eclipse/jetty/websocket/WebSocket$OnTextMessage不属于Jetty 9。

这是一个Jetty 7和Jetty 8临时类(这些类在Jetty中的WebSocket演变过程中通过最早的草案到近乎完整和最终的WebSocket规范存在。)

Jetty 9完成了最终的RFC-6455和JSR-356规范并实施了它们。

这意味着批量修复WebSocket,本机API,标准API,协议,新客户端规范,新服务器规范以及围绕WebSocket的所有最新附加规范(例如各种WebSocket扩展)。

你不能在Jetty 9中使用针对org/eclipse/jetty/websocket/WebSocket$OnTextMessage开发的webapp,这是不可行的。