项目启动报错RMI TCP Accept-0: accept loop for ServerSocket[addr=0.0.0.0/0.0.0.0,localport=53137]的解决方案之一

IDEA启动项目时不时就会出现一些奇怪的问题,如以下错误代码
在这里插入图片描述

2022-10-28 09:09:54 [RMI TCP Accept-0] WARN  sun.rmi.transport.tcp
 - RMI TCP Accept-0: accept loop for ServerSocket[addr=0.0.0.0/0.0.0.0,localport=53137] throws
java.io.IOException: The server sockets created using the LocalRMIServerSocketFactory only accept connections from clients running on the host where the RMI remote objects have been exported.
	at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:114)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:405)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:377)
	at java.lang.Thread.run(Thread.java:748)

解决方案:
1、打开IDEA右上角Edit Configurations
在这里插入图片描述
2、在VM options处填写-Djava.rmi.server.hostname=localhost
在这里插入图片描述
3、重新启动项目,成功

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是一个Java命令的错误提示,意思是指出了一个未被识别的选项:--add-opens=java.rmi/sun.rmi.transport=all-unnamed。这个选项可能是由于Java版本不兼容或者命令行参数错误导致的。需要检查Java版本和命令行参数是否正确。 ### 回答2: --add-opens选项是用于Java 9及以上版本的JVM中,用于解决一些旧版本Java中的限制性访问问题。该选项可以打开指定的JDK内部模块package,并允许它们暴露给其他代码和模块使用。 在问题中,出现了“unrecognized option”错误,这意味着该选项并没有被识别。通常情况下,这是因为您正在使用的JVM版本过旧,不支持该选项而导致的。 解决该问题的方法是先升级您的JVM到Java 9或以上版本。如果您仍然使用Java 8或更旧的版本,则必须使用其他方法来解决访问限制问题。您可以尝试使用其他选项或设置,如--illegal-access选项作为替代方案。 还有一点要注意的是,--add-opens选项必须被严格控制和使用,并且只应用于特定的JDK内部package。不正确地使用该选项可能导致Java应用程序的安全和稳定性等方面的问题。因此,在使用该选项时,请确保已经仔细检查了您的代码和开发环境,并遵循最佳实践和安全建议。 ### 回答3: 这个问题看起来是关于Java语言和Java Virtual Machine(JVM)的。从错误消息中可以看出,指定的命令选项是--add-opens=java.rmi/sun.rmi.transport=all-unnamed,但是这个选项未被识别。具体来说,这是Java 9和Java 10引入的一个新特性,它允许开发人员在运行库(JRE)中打开Java模块的非公开包以便让其他模块可以访问它们。这个选项的具体含义是:打开java.rmi模块内的sun.rmi.transport包,让所有未命名(未命名意味着不在同一个Java模块)的模块都可以访问它。 但是,如果你得到了“unrecognized option”的错误,这意味着你的Java版本可能不支持这个选项。你可以检查你的Java版本是否在Java 9或者Java 10以上,这是为什么Java报错的关键。如果你的Java版本太老,那么你需要升级Java来支持这个选项。 如果你的Java版本是在Java 9或者Java 10以上,那么你需要检查你的命令行是否正确。请确保你输入的命令里的选项拼写和格式都正确。如果问题依然存在,那么可能是因为你使用的JVM不允许这个选项。在这种情况下,你可以通过修改JVM的配置来解决问题。需要先确定使用的JVM是哪个,然后去相应的JVM配置文件中添加这个选项即可。不过这个步骤可能需要高级用户完成,需要谨慎操作,以免引发其他不必要的错误。 总之,这个错误消息提示了Java中一个新特性的引入,但是如果你的Java版本太老或者使用的JVM不支持这个特性,就会出现错误。如果你想使用这个特性,需要确保Java版本支持并且命令行选项正确。如果问题依然存在,那么可能需要调整JVM配置来解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值