如何在IntelliJ IDEA中多次运行同一项目以调试多客户端?
在IntelliJ IDEA中运行多个客户端实例进行调试的方法
没问题,在IntelliJ IDEA里实现多客户端调试其实有好几种简单的方法,我平时调试多实例应用也常用这些技巧:
方法一:允许现有配置并行启动
这是最快捷的方式,不需要额外配置新的运行项:
- 点击右上角运行/调试按钮旁边的下拉菜单,选择
Edit Configurations... - 在弹出的窗口里找到你的客户端运行配置(一般是
Application类型) - 勾选配置面板右侧的Allow parallel run选项
- 点击
Apply保存后,你只需要多次点击调试按钮,每次都会启动一个全新的客户端实例。这些实例会在IDE底部的Run/Debug工具窗口里以不同的标签页展示,各自的控制台和调试状态完全独立。
方法二:复制独立的运行配置
如果需要给不同实例设置差异化的启动参数(比如不同的端口、环境变量),这个方法更灵活:
- 同样打开
Edit Configurations...窗口 - 选中你的基础客户端配置,点击左上角的复制图标(就是带加号的那个按钮)
- 给新配置起个辨识度高的名字,比如
Client - Instance 1、Client - Instance 2 - 按需修改新配置的参数(比如在
Program arguments里添加不同的端口参数) - 保存后,你可以分别启动这些配置,每个实例都是完全独立的调试会话。
方法三:命令行启动+远程调试附加
如果你的客户端是打包后的Jar包,或者需要更灵活的启动方式,可以用这种方法:
- 先在IntelliJ里新建一个
Remote类型的运行配置:打开Edit Configurations...,点击左上角+号选择Remote,默认的调试参数就可以用(注意端口号,多个实例要改不同的) - 用Maven或Gradle编译打包你的客户端项目,得到可执行的Jar包
- 打开终端,用带调试参数的命令启动第一个实例:
java -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:5005 -jar your-client.jar - 回到IntelliJ启动刚才新建的Remote调试配置,就能附加到这个实例上开始调试
- 启动第二个实例时,把端口改成5006,再新建一个对应端口的Remote配置,重复上述步骤即可。
小贴士
- 如果你的客户端会占用固定端口,一定要确保每个实例用不同的端口,避免冲突(可以在代码里支持读取启动参数指定端口,或者动态分配端口)
- 在调试时,你可以在
Debug工具窗口顶部的下拉菜单里切换不同的实例,查看各自的线程栈、变量状态。
内容的提问来源于stack exchange,提问作者lastpeony4
相关产品推荐
相关产品推荐

