You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RMI客户端抛出java.rmi.NotBoundException错误但服务端运行正常求助

问题根因

你抛出java.rmi.NotBoundException的核心原因是客户端调用RMI注册中心的端口和服务端实际监听的端口不匹配:

  • 服务端代码里你手动创建Registry用的是自定义端口1076:Registry reg = LocateRegistry.createRegistry(1076);
  • 客户端Naming.lookup的URL没指定端口,默认会访问RMI标准端口1099,自然找不到你注册的Service服务。

修复方案

两种改法任选一种即可:

方案1:修改客户端lookup的URL,加上服务端的自定义端口

把客户端initialize方法里的lookup代码改成:

myService = (LoginInterface) Naming.lookup("rmi://localhost:1076/Service");

方案2:把服务端Registry端口改成RMI默认端口1099

把服务端创建Registry的代码改成:

Registry reg = LocateRegistry.createRegistry(1099);

补充排查点(改完端口仍报错时可检查)

  • 确认服务端启动后无报错,控制台成功打印Service started. Welcome to the RMI Login Service!
  • 确认客户端和服务端依赖的LoginInterface全限定类名完全一致,包名不能出错
  • 启动顺序必须为先启服务端,再启客户端

内容的提问来源于stack exchange,提问作者Dark Load

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 21:45:07