Java-WebSocket启动服务报“WebsocketSelector23”空指针异常

本文记录了在使用WebSocket过程中遇到的空指针异常问题及其解决过程。异常出现在特定线程中,通过更换端口号发现原有端口已被占用,最终关闭占用端口成功解决了异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在做websocket的时候遇到报空指针异常,在网上也没有找到对应错误的解决方法,最后更改了一下端口号居然OK了,所以推测是端口号被占用了,经过查询还真是被公司产品的测试环境占用了端口,关闭端口问题立马就解决了(查询端口是否被占用的方法:https://blog.youkuaiyun.com/yaomingyang/article/details/80135582),所以分享出来给遇到同样错误(报错提示跟端口占用就不沾边)的同学们。

Exception in thread "WebsocketSelector23" java.lang.NullPointerException
  at org.java_websocket.server.WebSocketServer.stop(WebSocketServer.java:257)
  at org.java_websocket.server.WebSocketServer.stop(WebSocketServer.java:263)
  at org.java_websocket.server.WebSocketServer.handleFatal(WebSocketServer.java:539)
  at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:321)
  at java.lang.Thread.run(Thread.java:744)
### 解决Android项目中Java-WebSocket不同版本依赖冲突的方法 在处理Maven或Gradle构建工具中的依赖关系时,可能会遇到多个库间接引入相同库的不同版本的情况。对于Java-WebSocket 1.4.0与1.3.8这两个特定版本,在`pom.xml`或者`build.gradle`文件里可以通过强制指定所需的具体版本来解决这个问题。 当使用Maven作为构建工具时,可以在项目的POM文件内通过<dependencyManagement>标签定义优先级更高的版本号[^1]: ```xml <dependencyManagement> <dependencies> <dependency> <groupId>org.java-websocket</groupId> <artifactId>Java-Websocket</artifactId> <version>1.4.0</version> <!-- 或者选择其他需要的稳定版 --> </dependency> </dependencies> </dependencyManagement> ``` 而对于采用Gradle构建系统的Android工程,则可以利用配置项exclude排除不需要的传递性依赖,并显式声明期望使用的版本: ```groovy configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> if (details.requested.group == 'org.java-websocket') { details.useVersion "1.4.0" } } } ``` 此外,还可以直接修改具体的模块依赖部分,确保只引入单一版本: ```groovy implementation('org.java-websocket:Java-Websocket:1.4.0'){ exclude group:'org.java-websocket', module:'Java-Websocket' } // 如果有其他地方也引用了旧版本则继续添加类似的语句 ``` 以上方法能够有效地控制最终打包到APK里的Java-WebSocket库版本一致性问题,从而避免潜在的功能异常或兼容性风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值