本文主要是介绍java实现websocket服务报错NoClassDefFoundError: org/apache/commons/io/FileUtils,及websocket搭建实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一开始出现这个错误,我也以为是缺少commons-io
包,就给它导入进去,发现还是报这个错误,后来一想,我启动这个websocket服务是通过Tomcat插件的方式启动的,而且websocket的访问是ws://
开头的,而我这里为了偷懒,是在之前的一个springboot工程里面写的代码,所以我就把与springboot相关的依赖去掉,再启动Tomcat就成功了
下面贴出websocket简易搭建实例:
注意我这里是引入javaee-api
的方式创建websocket,之后我会以spring-boot-starter-websocket
的方式创建websocket
新建一个maven
工程,不要直接创建springboot
工程
pom.xml
<packaging>war</packaging>
<dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId><version>7.0</version><scope>provided</scope>
</dependency><!-- java编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><!-- 配置Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>8080</port><path>/</path></configuration></plugin>
只贴了重要的几个,其他的自己补全,注意这里使用Tomcat方式启动,所以需要war包
@ServerEndpoint("/websocket")
public class WebSocketTest {@OnOpenpublic void onOpen(Session session) throws IOException {System.out.println("websocker连接" + session);session.getBasicRemote().sendText("欢迎");}@OnClosepublic void onClose(Session session){System.out.println("websocket已经关闭" + session);}@OnMessagepublic void onMessage(String message, Session session) throws IOException {System.out.println("收到客户端发来的消息" + message);
}
这里只需要写这一个class即可,通过Tomcat方式启动该程序,我使用的是火狐浏览器,安装Simple WebSocket Client插件,打开之后在URL那里填写ws://localhost:8080/websocket
,再点击旁边的按钮,即可建立连接
springboot整合websocket见这里
这篇关于java实现websocket服务报错NoClassDefFoundError: org/apache/commons/io/FileUtils,及websocket搭建实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!