欢送拜访我的GitHub

这里分类和汇总了欣宸的全副原创(含配套源码):https://github.com/zq2599/blog_demos

本篇概览

  • IDEA的近程开发性能,能够将本地的编译、构建、调试、运行等工作都放在近程服务器上执行,而本地仅运行客户端软件进行惯例的开发操作即可,官网给出的逻辑图如下,可见通过本地的IDE和服务器上的IDE backend将本地电脑和服务器买通,实现了近程开发的成果

  • 理论体验中,感觉就像平时的IDEA本地开发,但其实沉重的工作都交给了服务器去做,这对性能较差的本地电脑来说,以前跑不动的利用,现在凭借弱小的服务器也能丝滑运行了
  • 明天就来一起实战IDEA近程开发,让破旧的本地电脑也能流畅的编译运行Java利用
  • 文章由以下几段组成:
  1. 环境信息一览
  2. 筹备服务器
  3. IDEA近程连贯
  4. 从新设置工程的根目录
  5. 端口转发
  6. 其余要留神的中央

环境信息一览

  • 以下是我这边本次实战的环境信息,可作为参考
  1. IDEA:2021.3.2 (Ultimate Edition)
  2. 本地电脑操作系统:macOS Montery(12.3)
  3. 服务器:Ubuntu 20.04 LTS(4核8G)

筹备服务器

  • 一台Linux服务器是近程开发必须的,本人内网的、租用云服务厂商的都能够
  • IDEA会主动在服务器上安装所需的服务,咱们无需提前准备什么,惟一要求是能够通过SSH登录此服务器
  • 欣宸的服务器是腾讯云轻应用服务器,在官网租用的,如下图,4核8G,一年两百多,感觉挺划算
  • 接下来要在服务器上把开发用的代码筹备好,我这里是将本人github仓库下载到服务器上,代码寄存在这里:<font color="blue">/home/ubuntu/jetbrains-workspace</font>
ubuntu@VM-12-12-ubuntu:~/jetbrains-workspace$ git clone https://github.com/zq2599/blog_demos.gitCloning into 'blog_demos'...remote: Enumerating objects: 14559, done.remote: Counting objects: 100% (1097/1097), done.remote: Compressing objects: 100% (350/350), done.remote: Total 14559 (delta 846), reused 818 (delta 703), pack-reused 13462Receiving objects: 100% (14559/14559), 110.29 MiB | 3.05 MiB/s, done.Resolving deltas: 100% (4714/4714), done.

IDEA创立近程连贯

  • 服务器端筹备结束后,能够开始本地电脑的近程连贯操作了
  • 关上IDEA,如下图,抉择<font color="blue">New Connection</font>

  • 输出IP地址,账号密码
  • 按要求输出明码,近程连贯胜利后,指定工作目录(Project directory),我指定的是代码仓库所在目录,而后点击右下角的<font color="blue">Download and Start IDE</font>
  • 近程服务器开始下载后端利用,这是用于反对近程开发的服务
  • 期待下载实现后,就会多出一个名为<font color="blue">JetBrains Client</font>的利用,并且曾经关上,如下图红框,这就是未来做近程开发的本地工具了

  • JetBrains Client界面如下,看起来像是IDEA,能够看到方才在服务器下载的整个仓库的内容,和在本地关上没什么区别,Terminal关上的也是服务器目录,批改代码时改变的也是服务器上的代码
  • 还剩一个问题:如上图所示,此仓库中并不只有一个java我的项目,而是有几十个文件夹,每个文件夹下都是个独立的工程(有的是gradle,有的是maven),如果我当初只想批改其中的一个(例如上图红框中的<font color="red">quarkus-tutorials</font>),并编译运行它,应该怎么操作?接下来就解决此问题(这是IDEA的操作,并非近程连贯的问题)

从新设置工程的根目录

  • 接下来要解决的问题是:IDE近程关上的文件夹里有多个工程,我只想关上其中的一个<font color="blue">maven</font>工程进行开发和调试
  • 顶部菜单抉择"File" -> "Project structure..."

  • 点击下图红框地位的<font color="blue">X</font>符号,会删除以后内容根目录(Content Root)
  • 点击下图红框中的加号,从新增加内容根目录(Content Root)
  • 抉择用于开发的文件夹即可

  • 抉择结束后,终于见到相熟的目录构造

  • 您可能会觉着这一段的操作是多此一举:只有在近程连贯的时候设置工作目录是<font color="blue">quarkus-tutorials</font>就行了,没必要这么麻烦,您说的没错,在近程连贯的时候的确能够间接指定目录,然而如果此刻应用的是Jetbrains的space,那里无奈间接指定目录,只能间接关上

作为maven工程运行

  • 对于服务器的JDK,如果装了,请依照下图地位去抉择,如果没有装置,依照下图进行近程下载即可

  • 此刻,IDE并未辨认到这是个maven工程,须要关上pom.xml,而后在右键菜单中选择<font color="blue">Add as Maven Project</font>,如下图红框

  • 期待我的项目加载和更新实现后(生成索引工夫较长,我这边半小时),终于见到了相熟的maven我的项目页面,可见和用IDEA时候并无区别

  • 试试maven的单元测试,如下图,和应用IDEA并无区别,顺利执行

端口转发

  • 开发web利用时,启动利用后,拜访近程IP地址和端口可能比拟麻烦(有的服务器波及到平安问题不轻易开始口),此时JetBrains Client提供的端口转发性能十分实用
  • 端口转发配置形式如下图,这样我拜访本机的8080端口时,申请就会转到服务器的8080端口

  • 启动利用试试,我的利用是个一般web利用,启动后监听8080端口,然而我并没有给服务器开明8080端口到外网,如下图,从本地能够拜访胜利

    其余要留神的中央

  • 退出的时候,会提醒是否敞开近程服务,请自行抉择,我抉择的是<font color="blue">Close and Keep Running</font>

  • 如果嫌每次输出明码麻烦,就在idea中保存起来

  • 下次再关上时就会呈现之前的记录,点击即可进入
  • Git提交性能也能够失常应用:本地的提交其实是将服务器上的代码提交到Github
  • 最初别忘了去插件治理页面装置罕用插件
  • 至此,IDEA近程开发的理论体验曾经实现,心愿本文能给您一些参考,助您搭建一个稳固高性能的开发环境

欢送关注思否:程序员欣宸

学习路上,你不孤独,欣宸原创一路相伴...