⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 网络 「网络」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

本文也是记录一下 IDEA 支持 WSL、SSH、Docker 运行 这个新特性的体验,这是我一直想要的功能。不用进行过多设置就让代码 Run 起来, 而且还支持断点 Debug,跟本地启动一样,不过功能还有待改进。

本来是说不要随便更新 IDEA 的了,但看到 IDEA 新版本特性后,果断、立马点击了更新,然后更新到 IDEA 2021.3 也挺久了,不过最近比较忙(主要是因为懒),所以也没有好好进行体验一下这些新功能。

先来说一下日常的使用的体验:

  • 启动界面是越来越花里胡哨的了,功能也是越来越花里胡哨的了
  • 更新完成后部分插件也要更新,不然旧版插件不支持新版
  • 目前还没有遇到什么坑
  • Run/Debug Configuration 的配置不像以前那样明显易用

新版的主要更新内容

  • Space 集成:(我公司团队不用这个,我自己一个人也用不到这个,忽略)
  • 支持 Java 16 :(打扰了,日常用着 8 和 11,先不体验吧)
  • 更好的 Git 支持:日常合代码都是直接用 IDEA 的
  • Windows 任务更好的支持:我觉得没有必要,固定任务栏直接启动也挺快的啦
  • Code With Me:感觉带妹子学 Java 的话,这是个特别棒的功能
  • 支持 WSL、SSH、Docker 运行:就是看着这个特性而升级的,不过社区版不支持这个功能

自从 VS Code 支持 Remote 之后,我日常要在开发服务器写一些脚本、跑一些脚本的时候,都是直接使用 VS Code SSH 连接服务器的,感觉超级方便(哈哈哈 我还是用不习惯 vim)。所以一直想 IDEA 也可以支持 Remote、WSL。

1. 开始之前

  • 环境和软件:Windows 10 , WSL 2,Docker for Windows,OpenJDK 11,IDEA 2021.3 Ultimate
  • 项目 1:一个普通的 Java 项目,写了一个 Hell World 的 class
  • 项目 2:Gradle 构建的 Spring Boot Web, 写了一个 RESTful API

总体的代码都比较简单,就不放源码了。

设置入口:设置 WSL、SSH、Docker 运行的入口在 Run/Debug Configuration 里,默认是 Local machine 跟以前的本地运行一样。

设置 Run On

2. 使用 WSL 运行

WSL 1 不太清楚是否支持,我这里用的是 WSL 2 。

首先需要在 WSL 里安装 JDK 和设置一下 JAVA_HOME,设置入口见上面,新建 WSL 的 Run On 环境,选择好你的 WSL 发行版,如果出现绿色的 successfully 表示可以使用这个 WSL。

选择 WSL 发行版

如果还需要其他运行参数,比如你可以在这里设置 JAVA_HOME ,在接下来的界面设置一下即可

额外的一些配置

设置完成后,选择 WSL ,就可以和在本地一样 Run/Debug 。

3. 使用 SSH 在远程环境运行

这个总体体验很不好,每次运行都要上传一堆依赖的 jar 包,不知道是不是我没有配置好 rsync 还是没有优化好。还有一个待优化的点是最好可以手动选择 SSH 还是 Password 的方式登录。而不是要像下图那样子需要先自己配置一下:

  • 没有使用 rsync 的话,每次所有的 class 和依赖的 jar 都要上传
  • 使用 rsync 后,像 Gradle、Maven 引入的依赖每次还是要上传

如果使用 SSH 方式登录的话,需要先配置一下 SSH,然后再在 Run On 里选择新建一个 SSH Run Target:

图片

新建 Run Target,选择 New,或者 Existing 也就是上面配置的 SSH:

Existing 是表示已经配置好的 SSH

设置 JAVA_HOME 和在远程服务器的目录:

选择远程目录

这样子配置好之后,就可以像本地一样正常的 Run 和 Debug。

4. 使用 Docker 运行

Docker 方式,先前我还以为会比较麻烦,一来我对 Docker 不是很熟悉,二来我也不知道该怎么配置 Dockerfile,但体验下来发现也可以很丝滑的,Dockerfile 文件的配置就一行搞定了,不得不说有点出乎我的意料

# 刚开始我也不知道怎么配置,就只放了这么一句,发现竟然就可以了
FROM openjdk:11.0.11-oraclelinux7

新建一个 Run Target,选择 Docker 会弹出这个界面。首先要根据下图先设置一下 Docker Server。Dockerfile 就使用上面的那个 Dockerfile 就可以了:

有点小 bug,Run options 的配置不生效,而是使用了随机端口映射,Spring Boot 的那个项目启动后,IDEA 会告诉告诉你映射到那个端口了。

图片

Docker 服务的设置

Docker Server 设置,这里使用了本地的 Docker:

设置使用本地的 Docker

出现这样的界面就表示启动成功了:

docker 的配置也完成

剩下的正常 Run Debug。

4. 总结

不管是 WSL 、SSH 还是 Docker,简单配置一下真的跟本地运行没有太大的区别,正常的 Run、正常的 Debug。对于需要这些功能的开发人员,还是比较建议升级的。

这个 IDEA 的新特性一套体验下来,虽然有几个前面所提的问题,但不得不说:IDEA YYDS!。

文章目录
  1. 1. 先来说一下日常的使用的体验:
  2. 2. 新版的主要更新内容
  3. 3. 1. 开始之前
  4. 4. 2. 使用 WSL 运行
  5. 5. 3. 使用 SSH 在远程环境运行
  6. 6. 4. 使用 Docker 运行
  7. 7. 4. 总结