体验 IntelliJ IDEA 2021.1 Run Targets 远程环境调试程序

Run Targets

之前有写过一篇博客 IDEA 在本地开发基于 Docker 运行环境项目的实践方式,这种方式的配置、操作相对繁琐,Debug 体验堪忧。

不过,IDEA 2021.1 带来了一个新功能 Run Targets,简化了在远程环境运行、调试程序的操作。

贴一张官网的 GIF 图:

目前 Run Targets 支持:

  • SSH
  • Docker
  • WSL / WSL2(Windows 环境)

SSH

通过 SSH 的方式需要确保机器包含 JDK 环境。

我把自己树莓派 4 通过 SSH 的方式添加了进来。
在这里插入图片描述

界面中有个选项 Use rsync,使用 rsync 有可能会减少文件传输的时间。

接下来在 Run on 选中刚才添加的树莓派 4。
在这里插入图片描述
点击 Debug 启动应用。

开始通过 rsync 同步文件。

编译好的的 class 文件以及依赖的 JAR 都需要复制过去,如果项目依赖的 Jar 比较多,这个过程会多花一些时间。
在这里插入图片描述
在这里插入图片描述

接下来项目就启动成功了。如果是 Tomcat 之类的需要暴露端口的应用,IDEA 还会贴心地将远程机器的端口映射到本地以便于访问。
在这里插入图片描述

Debug 体验也和本地没有差异。
在这里插入图片描述
总之,通过 Run Targets,只要能 SSH 并且拥有 JDK 环境,就能轻松的在指定机器调试应用了。

唯一的缺点是每次重新运行都需要完整复制一次依赖的 JAR,比较消耗时间。如果能够只复制变动的文件,体验可能会更好。

Docker

新建一个 Docker Target,默认界面是选择 Build 一个镜像。不过,如果没有特殊需求,选择 pull 一个常见的 JDK 镜像就好了。
在这里插入图片描述
在这里插入图片描述
后续的步骤就和本文最前面的 GIF 图差不多了。

容器的端口会自动映射到本地端口中,Debug 体验也和直接运行没有差别。
在这里插入图片描述

应用场景

在本地开发分布式项目

本人平时参与 Apache ShardingSphere ElasticJob 的开发。

其中,有一个 Failover 相关的 Bug apache/shardingsphere-elasticjob#714,Failover 分布式部署的情况下会失效,本地同时启动多个节点的情况下无法重现。这样的场景,借助 Run Targets Docker 就很容易在本机模拟多节点部署,或通过 SSH 轻松在本机调试分布式部署的多个进程。

本地开发,远程运行调试

开发机器性能不好或环境受限,但是有性能较好或环境完整的服务器可以使用,这时候就可以本地开发,远程运行、调试。

总结

经过一番体验,Run Targets 是个比较惊艳我的新功能,能够填补我在一些特殊场景的需求。因为功能正式推出不久,还是存在一些体验上的问题,例如 SSH 在依赖较多的应用部署会比较耗时。相信随着后续的迭代,Run Targets 会越做越好。期待未来的更新!

相关资料:

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

[email protected]

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值