我想使用Java websocket与Repast simphony但它不工作,我得到以下错误:
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getServletContext()Ljavax/servlet/ServletContext; at org.eclipse.jetty.websocket.servlet.UpgradeHttpServletRequest.(UpgradeHttpServletRequest.java:91) at org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest.(ServletUpgradeRequest.java:52) at org.eclipse.jetty.websocket.server.WebSocketServerFactory.acceptWebSocket(WebSocketServerFactory.java:156) at org.eclipse.jetty.websocket.server.WebSocketServerFactory.acceptWebSocket(WebSocketServerFactory.java:148) at org.eclipse.jetty.websocket.server.WebSocketHandler.handle(WebSocketHandler.java:97) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539) at java.lang.Thread.run(Thread.java:745)
有人能解释一下如何解决这个错误吗?谢谢
我测试了从互联网上获取的代码,如果我不使用repast simphony运行它,它就能正常工作
我的服务器
package webSocketTest; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.websocket.server.WebSocketHandler; import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory; public class WebSocketTest { public static void main(String[] args) throws Exception { Server server = new Server(8080); WebSocketHandler wsHandler = new WebSocketHandler() { @Override public void configure(WebSocketServletFactory factory) { factory.register(MyWebSocketHandler.class); } }; server.setHandler(wsHandler); server.start(); server.join(); } }
package webSocketTest; import java.io.IOException; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose; import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect; import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError; import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage; import org.eclipse.jetty.websocket.api.annotations.WebSocket; @WebSocket public class MyWebSocketHandler { @OnWebSocketClose public void onClose(int statusCode, String reason) { System.out.println("Close: statusCode=" + statusCode + ", reason=" + reason); } @OnWebSocketError public void onError(Throwable t) { System.out.println("Error: " + t.getMessage()); } @OnWebSocketConnect public void onConnect(Session session) { System.out.println("Connect: " + session.getRemoteAddress().getAddress()); try { session.getRemote().sendString("Hello Webbrowser"); } catch (IOException e) { e.printStackTrace(); } } @OnWebSocketMessage public void onMessage(String message) { System.out.println("Message: " + message); } }
我终于找到了解决办法。我移除了项目构建路径中默认存在的所有groovy JAR,它可以正常工作。
删除groovy JAR的另一个替代方案:实际上,Repast Simphony2.2使用servlet-API2.4。它不包含javax.servlet.http.HttpServletRequest.getServletContext()方法。另一个解决方案是用最近的javax servlet-api替换Repast Simphony默认使用的servlet-api jar
我正在尝试创建一个简单的REST api,我遵循了Jersey网站上的教程:https://jersey.java.net/nonav/documentation/2.0/deployment.html 以下是错误: 原因:javax.servlet.unavailableException:org.eclipse.jetty.servlet.baseholder.doStart(basehold
我正在使用m2eclipse。 我在pom中配置了jetty maven插件。正确使用xml。 当我试图通过CMD执行时,它工作得很好。没有错 而当我试图通过日蚀执行时, 我缺少一些Jetty-Eclipse配置。有人能对此提出建议吗? 如果你发现任何错误, MAVEN_OPTS="-XX: MaxPermsize=256M-Xmx512M-Xdebug-Xrunjdwp:传输=dt_socket
代码: pom.xml依赖项: 我不明白发生了什么事,有人能帮忙吗?
我试图创建一个WebSocket servlet上JBOSS与Jetty 8.1.8 这是我的代码:包com.microfocus.entrypoint.servlets; 这里有一个例外: 17:36:01,728 ERROR[org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/benAsync].[Asynch
我尝试使用: Java11 RestEasy 4.1.0最终版 码头9.4.19. v20190610 gretty-gradle-plugin来自https://raw.github.com/gretty-gradle-plugin/gretty/master/pluginScripts/gretty.plugin 使用下面的子项目构建。格雷德尔: 但是,当我试图运行我的服务器使用:我得到以下异
“浏览器似乎已退出”selenium . common . exceptions . web driver exception:Message:浏览器似乎已在我们可以连接之前退出。如果您在FirefoxBinary构造函数中指定了log_file,请检查它以获取详细信息。 我正在使用 硒版本 2.53.6 Firefox版本47.0 14.04.4 python 3.4.3 这是我正在使用的代码