IntelliJIDEA的远程开发功能,强到老板看完了直呼真省钱
本篇概览IDEA的远程开发功能,可以将本地的编译、构建、调试、运行等工作都放在远程服务器上执行,而本地仅运行客户端软件进行常规的开发操作即可,官方给出的逻辑图如下,可见通过本地的IDE和服务器上的IDE backend将本地电脑和服务器打通,实现了远程开发的效果
实际体验中,感觉就像平常的IDEA本地开发,但其实繁重的任务都交给了服务器去做,这对性能较差的本地电脑来说,以前跑不动的应用,如今凭借强大的服务器也能丝滑运行了 今天就来一起实战IDEA远程开发,让破旧的本地电脑也能流畅的编译运行Java应用 文章由以下几段组成: 环境信息一览 准备服务器 IDEA远程连接 重新设置工程的根目录 端口转发 其他要注意的地方 环境信息一览以下是我这边本次实战的环境信息,可作为参考 IDEA:2021.3.2 (Ultimate Edition) 本地电脑操作系统:macOS Montery(12.3) 服务器:Ubuntu 20.04 LTS(4核8G) 准备服务器一台Linux服务器是远程开发必须的,自己内网的、租用云服务厂商的都可以 IDEA会自动在服务器上安装所需的服务,咱们无需提前准备什么,唯一要求是可以通过SSH登录此服务器 欣宸的服务器是腾讯云轻应用服务器,在官网租用的,如下图,4核8G,一年两百多,感觉挺划算
接下来要在服务器上把开发用的代码准备好,我这里是将自己github仓库下载到服务器上,代码存放在这里:/home/ubuntu/jetbrains-workspace ubuntu@VM-12-12-ubuntu:~/jetbrains-workspace$ git clone https://github.com/zq2599/blog_demos.git Cloning 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 13462 Receiving objects: 100% (14559/14559), 110.29 MiB | 3.05 MiB/s, done. Resolving deltas: 100% (4714/4714), done. 复制代码IDEA创建远程连接服务器端准备完毕后,可以开始本地电脑的远程连接操作了 打开IDEA,如下图,选择New Connection
输入IP地址,账号密码
按要求输入密码,远程连接成功后,指定工作目录(Project directory),我指定的是代码仓库所在目录,然后点击右下角的Download and Start IDE
远程服务器开始下载后端应用,这是用于支持远程开发的服务
等待下载完成后,就会多出一个名为JetBrains Client的应用,并且已经打开,如下图红框,这就是将来做远程开发的本地工具了
JetBrains Client界面如下,看起来像是IDEA,可以看到刚才在服务器下载的整个仓库的内容,和在本地打开没什么区别,Terminal打开的也是服务器目录,修改代码时改动的也是服务器上的代码
还剩一个问题:如上图所示,此仓库中并不只有一个java项目,而是有几十个文件夹,每个文件夹下都是个独立的工程(有的是gradle,有的是maven),如果我现在只想修改其中的一个(例如上图红框中的quarkus-tutorials),并编译运行它,应该怎么操作?接下来就解决此问题(这是IDEA的操作,并非远程连接的问题) 重新设置工程的根目录接下来要解决的问题是:IDE远程打开的文件夹里有多个工程,我只想打开其中的一个maven工程进行开发和调试 顶部菜单选择"File" -> "Project structure..."
点击下图红框位置的X符号,会删除当前内容根目录(Content Root)
点击下图红框中的加号,重新添加内容根目录(Content Root)
选择用于开发的文件夹即可
选择完毕后,终于见到熟悉的目录结构
您可能会觉着这一段的操作是多此一举:只要在远程连接的时候设置工作目录是quarkus-tutorials就行了,没必要这么麻烦,您说的没错,在远程连接的时候确实可以直接指定目录,但是如果此刻使用的是Jetbrains的space,那里无法直接指定目录,只能直接打开 作为maven工程运行关于服务器的JDK,如果装了,请按照下图位置去选择,如果没有安装,按照下图进行远程下载即可
此刻,IDE并未识别到这是个maven工程,需要打开pom.xml,然后在右键菜单中选择Add as Maven Project,如下图红框
等待项目加载和更新完成后(生成索引时间较长,我这边半小时),终于见到了熟悉的maven项目页面,可见和用IDEA时候并无区别 试试maven的单元测试,如下图,和使用IDEA并无区别,顺利执行
端口转发开发web应用时,启动应用后,访问远程IP地址和端口可能比较麻烦(有的服务器涉及到安全问题不轻易开端口),此时JetBrains Client提供的端口转发功能非常实用 端口转发配置方式如下图,这样我访问本机的8080端口时,请求就会转到服务器的8080端口
启动应用试试,我的应用是个普通web应用,启动后监听8080端口,然而我并没有给服务器开通8080端口到外网,如下图,从本地可以访问成功
其他要注意的地方退出的时候,会提示是否关闭远程服务,请自行选择,我选择的是Close and Keep Running
如果嫌每次输入密码麻烦,就在idea中保存起来
下次再打开时就会出现之前的记录,点击即可进入
Git提交功能也可以正常使用:本地的提交其实是将服务器上的代码提交到Github
最后别忘了去插件管理页面安装常用插件 至此,IDEA远程开发的实际体验已经完成,希望本文能给您一些参考,助您搭建一个稳定高性能的开发环境
原文链接:https://juejin.cn/post/7089614698529685517
康佳EOS90D图赏单机以及套机价格很亲民2019年8月28日,佳能(中国)有限公司宣布推出APSC画幅EOS数码单反相机新品EOS90DAPSC画幅微单相机新品EOSM6MarkII两款RF大三元镜头新品RF1535mm
华为Mate30系列发布在即后置摄像头模组或采用圆形设计今日,华为官方微博放出了Mate30系列的预热视频。在整个视屏中圆形元素多次出现,视屏结尾也是一个发光圆环。结合之前网络上曝光了Mate30系列消息,该系列手机很有可能采用圆形阵列
239。8万韩元三星GalaxyFold韩国正式开售据外媒消息,三星可折叠手机GalaxyFold今日正式在韩国正式开卖。售价为239。8万韩元(约合人民币14335。4元)。三星表示,随后将在英国法国德国与美国等一些国家提供5G与
看了无数新iPhone渲染图乔帮主棺材盖压不住了9月11日新款iPhone就要与我们见面了,根据苹果一贯的特性,我们可以很确定前段时间曝光的渲染图中,就存在着苹果的真身,接下来我们就来盘点一下这次发布的苹果新机渲染图都有哪些吧!
钱包准备好iPhone11将于9月20日开售近日,据知情人士向AppleInsider爆料称,苹果零售店店员已经为iPhone119月20日的首发上市做好了准备。事实上,苹果惯例性地喜欢在周二(太平洋时间)开发布会,接着第二
努比亚Z20VsvivoNEX谁的设计语言更成熟?随着手机屏幕越做越大,为了在减少机身外围的同时兼顾手感,手机厂商们在屏占比上一直不断的追求和探索,全面屏手机应运而生。从最初的刘海屏,到水滴屏挖孔屏,再到滑盖式设计升降式摄像头的出
iPhone11天空之镜配色曝光配合浴霸后摄丑爆据悉,苹果计划于9月20日星期五发售iPhone11系列手机,9月13日开始预购,9月10日正式发布iPhone11系列手机。至于iPhone11系列手机几乎所有的信息都已经泄露了
搞定装修留下的后遗症,只需要这四款补光神器家装设计中,灯饰照明是一个比较重要的部分。点到好处的照明设备不仅可以提升家装美感,还能营造一个明亮舒适的居住氛围。因此,作为家装设计中的必需品,灯饰的选择非常重要,除了一些主要照明
好物礼盒,另类的装花神器你想过关于花器的更多可能性吗?不是玻璃瓶陶瓷盆包装纸,而是以另一种更出人意料的方式礼盒,来演绎浪漫的存在。本期,就以这些礼盒为题,给大家分享鲜花与另类器物之间彼此成就的故事。01圆
我离有效养花,就差了这四件工具花具,是整理花材和插花过程中常用的工具,这些工具可以让花朵保持美好的姿态延长盛放的期限,从而点亮我们的生活。比如修剪花枝时用的花艺剪,养护鲜花时用的保鲜液,清洗瓶子时用的瓶刷,虽然
也许沙发挪10公分,就能发现不一样的美在常规的户型中,大家为了提升室内空间面积的利用率,所以沙发大多数选择靠墙摆放,仿佛是约定俗成那样自然。而且客厅作为居住者与客人会面聊天的地方,是整个家的门面,一些突破常规的设计手法