IDEA(十)2022版本 Services中服务窗口不显示端口号解决

目录

一、问题描述

我们在使用 IDEA 的过程中,会发现在 Services 中的服务窗口 不显示端口 了,如下所示:

这对于我们使用 IDEA 对 Spring Boot 项目进行调试的时候非常不方便,那么应该如何恢复呢?


二、问题分析

知其然,要知其所以然。

首先,我们可以看一下日志旁边的 Actuator 标签是否有报错,如下所示:

Failed to check application ready state: Timeout exceeded
Press Refresh button to reinit state checking

看这个报错提示,是要我们点击右边的刷新按钮,可是点击后经过漫长的等待还是报错。

这个报错是因为 IDEA 和 SpringBoot 项目没有在同一 JVM 环境下运行,使得 IDEA 不能连接到这个 AttachProvider。那么如何才能让 IDEA 和 SpringBoot 项目在同一 JVM 环境下运行呢?解决了这个问题,我们的端口就可以正常显示了。


三、解决方案

下面这三个方法中,亲测只有第一个好用,剩余两个方法作为补充,可以试一试。

3.1 设置启动参数【生效】

我们可以在 IDEA 的启动配置中,为 SpringBoot 项目增加下面4行 VM options 项:(端口不固定,不冲突即可)

shell 复制代码
-Dcom.sun.management.jmxremote.port=3001
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=localhost

经过小编尝试发现,上面的配置并不需要全部添加,只需要添加下面这一行即可:

shell 复制代码
-Djava.rmi.server.hostname=localhost

配置好之后,我们再启动服务就可以看到端口号了:

那么对于微服务架构,这么多微服务,要一个一个设置吗?当然不用,我们可以在 IDEA 的 File -> New Projects Setup -> Run Configuration Templates... 设置新项目的默认运行模板。

找到 Spring Boot,在 Modify options 中选择 Add VM options,然后输入如下内容,点击 OK:

shell 复制代码
-Djava.rmi.server.hostname=localhost

这样我们就设置好了新项目的运行模板,然后我们去已有项目的文件夹下,删除 .idea 文件夹,然后重新打开,这样所有服务的启动配置都会被更新。

3.2 方法二:设置环境变量【不生效】

在电脑右键 -> 属性 -> 环境变量中,增加如下环境变量:

变量名:IDEA_JDK_64

然后 重启 IDEA,再启动项目,就可以发现项目上的端口已经可以正常显示了。

注意: IDEA 使用 Jetbrains Runtime 作为 JVM 环境,如果使用 Oracle 的 JDK 1.8 作为 IDEA 的 JVM 环境,出现了很多例如插件无法正常运行、中文语言包乱码的情况,总之不是非常兼容。

3.3 方法三:删除缓存【不生效】

将所有 Java 程序关闭,然后将 C:\Users\{username}\AppData\Local\Temp\hsperfdata_{username} 这个文件夹中的内容删掉,username代表操作系统的用户名。


四、补充:如何手动控制端口显示

首先,我们来看这个端口的显示是在 IDEA 的 设置 中进行控制的。

整理完毕,完结撒花~ 🌻

参考地址:

1.IDEA2022 Run Dashboard service服务不显示端口号解决方法,https://blog.csdn.net/weixin_39402877/article/details/130538232

2.IDEA 启动 Springboot 项目出现 AttachProvider for the vm is not found,https://blog.csdn.net/sakuyam/article/details/106947892

3.[IDEA]SpringBoot项目Failed to check application ready state问题,https://www.jianshu.com/p/591df1976dbf

相关推荐
玛卡巴卡ldf7 小时前
【Springboot6】内存泄漏OOM、VisualVM、Arthas、Prometheus Grafana监控、垃圾回收
java·jvm·springboot
无心水7 小时前
2、5分钟上手|PyPDF2 快速提取PDF文本
java·linux·分布式·后端·python·架构·pdf
小元宝的专属厨师7 小时前
day08_LinkedList与队列栈
java
Han_han9197 小时前
案例二:交通工具调度系统(核心:继承 + 多态 + final + 方法重写)
java·开发语言
cch89187 小时前
Java vs 汇编:高级与低级的终极对决
java·开发语言·汇编
码上实战7 小时前
到底Java 适不适合做 AI 呢?
java·人工智能·后端·python·ai
如若1237 小时前
ERROR:pdf2zh.converter:‘str‘ object has no attribute ‘choices‘ converter.py:357
java·开发语言·servlet
cch89187 小时前
PHP vs Java:谁更适合你的项目?
java·开发语言·php
萧逸才7 小时前
【learn-claude-code】S11AutonomousAgents - 自主 Agent:自动认领任务 + 空闲轮询
java·人工智能·ai
李少兄8 小时前
优化高负载详情接口:基于字段选择与懒加载的实践
java