当前位置: 首页 > news >正文

IDEA远程开发

IDEA远程开发

前期准备

IDEA的远程开发是在本地去操昨远程服务器上的代码,所以我们先需要准备一台服务器,在此我使用vmware虚拟出ubuntu-20.04.6的Server版本,以便后面演示。

Ubuntu的Java环境配置

  1. JDK8
sudo apt install openjdk-8-jdk
  1. maven
sudo apt install maven

服务器Java环境准备好了,就开始IDEA的远程开发了。

远程部署

第一种远程开发的方式是通过网络将程序部署到远程服务器上,编码工作还是在本地进行,只不过我们是在本地编写代码,然后我们将本地的代码文件定期的同步到服务器上去,再使用本地的IDEA远程操作服务器上的代码完成部署和运行。远程开发主要分为 6六个阶段:编码、文件同步、运行、编译构建、部署、调试。接下来我们创建一个简单的springboot项目,来演示上述操作。

1. 编码

我们的创建的springboot项目仅提供一个接口,用于测试服务是否正常访问,代码如下:

@RestController("/")
public class HelloController {@GetMapping("/hello")public String getHello(){return "Hello World";}
}

2. 文件同步

  • 点击idea的Tools==>Development==>Configuration.

image-20230824202616635

  1. 点击+选择SFTP
    在这里插入图片描述
  • 为该服务起个名称
    在这里插入图片描述

  • 填写服务器的基本信息如:ip,用户名以及密码

在这里插入图片描述

  • 将本地的项目文件路径和远程服务器上的某一路径进行映射
    在这里插入图片描述

  • 将本地的代码同步到远程服务器

在这里插入图片描述

在这里插入图片描述

  • 验证本地代码是否同步完毕

在这里插入图片描述

到此,你在本地编写的代码都会自动同步到服务器上了。

3. 运行项目

在idea中创建出一个可以连接远程服务器的终端

在这里插入图片描述

使用cd命令进入项目代码

在这里插入图片描述

输入mvn spring-boot:run运行项目

mvn spring-boot:run

然后,能够看到项目运行成功

在这里插入图片描述

使用浏览器进行访问该接口

在这里插入图片描述

浏览器显示了Hello Wolrd则表示我们已经正常的访问到服务器上运行的项目了

4. 构建项目

使用maven将项目进行打包

mvn package

看到一下输出,表示打包成功

在这里插入图片描述

5. 部署

在服务器上已经将项目打成了jar包,我们使用以下=命令运行jar包

 java -jar  /home/hmy/demo/target/demo1-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

看到控制台以下输出则表示正常运行

在这里插入图片描述

6. 远程调试

此时我们的项目已经在服务器上运行,接下来我们使用idea远程调试服务器上的代码

  • 在idea中点击编辑配置

在这里插入图片描述

  • 新建一个远程JVM调试

    在这里插入图片描述

  • 更改配置,修改成自己的服务器器ip,以及调试占用的端口号,JDK版本等,idea会自动生成一段调试参数,在调试的时候必须加上。

在这里插入图片描述

调试命令如下

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar  /home/hmy/demo/target/demo1-0.0.1-SNAPSHOT.jar  --spring.profiles.active=prod

使用上述的命令启动项目后,在idea中点击Bebug

在这里插入图片描述

打上断点进行调试

在这里插入图片描述

在访问该接口,可以看到调试已经生效

在这里插入图片描述

到此idea对服务上的项目进行远程开发,但是idea为我们提供一种更加简单的远程开发方法,接下来就介绍另一种方法

远程开发

使用idea自带的远程开发功能,可以直接将本地代码的编译,构建,调试,运行等工作都放在远程服务器上只能执行,而本地运行一个客户端远程去操作服务器上的代码,就如同我们平常写代码一样。

1. 首先切换到idea的主页

在这里插入图片描述

2. 配置ssh连接

在这里插入图片描述

3. 指定远程开发的代码路径

在这里插入图片描述

然后就会下载一个客户端,第一次下载可能有点慢,由于我之前安装过,所以就直接进入了该客户端。

启动项目后报错,这是idea的一个bug

在这里插入图片描述

解决办法如下

打开设置==》Complier==>在vm potionas中添加以下一行参数,项目就可以正常运行

-Djdk.lang.Process.launchMechanism=vfork

image-20230825001001679

4. 直接Debug模式启动项目

image-20230825001917417

使用浏览器访问该接口

image-20230825002407365

到此为止,idea远程开发就结束了,推荐使用第二种,非常简单的使用。


各位看官如果觉得文章写得不错,点赞评论关注走一波!谢谢啦!。

在这里插入图片描述

http://www.lryc.cn/news/138991.html

相关文章:

  • Redis 工作总结
  • GO学习之 数据库(Redis)
  • 谈一谈浏览器与Node.js中的JavaScript事件循环,宏任务与微任务机制
  • User Java bean的命名规范
  • ajax和fetch的区别
  • java+springboot+mysql村务档案管理系统
  • windows查看/删除DNS缓存
  • 自动化测试之Junit
  • Spring Boot 整合MyBatis-Plus
  • CC++ 常用技巧
  • 【AndroidStudio】屏蔽小米打印
  • Tomcat的安装与介绍
  • 说点大实话丨知名技术博主 Kirito 测评云原生网关
  • 时序预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络时间序列预测
  • 简述docker的网络模式
  • MySql-8.0.34 CentOS 安装命令记录
  • 开发电子木鱼功德+1需要多少钱
  • 批处理中扩展解释%~的相关知识和用法,并给出示例和实际运行结果展示
  • LA@向量组间的表示关系
  • Mybatis与Spring集成
  • AMBA总线协议(0)——目录与传送门
  • R语言快速生成三线表(1)
  • 【动手学深度学习】--20.目标检测和边界框
  • 实验八 网卡驱动移植
  • Linux的Man Page知识记录
  • RTSP/Onvif视频服务器EasyNVR安防视频云服务调用接口录像会被自动删除的问题解决方案
  • 几个nlp的小项目(文本分类)
  • MFC——base编码和json数据
  • SQL Server、MySQL和Oracle数据库分页查询的区别与联系
  • Qt跨平台无边框窗口探索记录