学习IntelliJ IDEA之部署至远程执行
IDEAoshi远程执行代码admin 发布于:2023-04-05 09:20:09
阅读:loading
一直使用的IDEA 2018.2版本没有发现,后面在使用最新版2022.3版本时发现在执行程序时多了一个执行引擎的功能,于是简单尝试了一下将本地应用程序一键部署至服务器上运行,也就有了本文。
(第1步)
(第2步)
(第3步)
(第4步)
(第5步)
(第6步)
当Run on选项为SSH模式的远程服务器时,直接运行时程序将被编译部署至远程运行,参考编译过程如下:
执行本地模式时的运行命令如下:
执行远程模式时的运行命令如下:
程序代码比较简单,使用oshi组件获取系统信息,包含系统的操作系统硬件等,包含:系统的磁盘、内存、服务、进程、IP地址、网卡、声卡、安装软件等等,本站有对应文章讲解oshi的使用,且顶部菜单的“关于本站”-->"服务器信息"功能就是当前服务器参数获取的一小部分展示。
有一些IDEA的插件和maven的插件可进行远程打包部署不作为本篇的重点,本次将摸索IDEA自带的远程SSH引擎,将本地程序部署至远程服务器执行,并不是专业的应用远程部署,在实际应用中未尝试将Spring Boot程序在远程运行(毕竟会新开端口之类的存在于服务的后端进程),有后续的应用场景时会进行再次应用实践。
部署编译整个过程将会在远程服务器创建一堆的文件夹,并且将相关的文件全部拷贝至远程服务器。
package cn.chendd.oshi;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import oshi.SystemInfo;
/**
* 获取系统输出
*
* @author chendd
* @date 2023/4/5 8:51
*/
public class Test {
public static void main(String[] args) {
SystemInfo systemInfo = new SystemInfo();
System.out.println(JSONObject.toJSONString(systemInfo ,
SerializerFeature.PrettyFormat,
SerializerFeature.MapSortField,
SerializerFeature.WriteMapNullValue));
}
}
缺点
(1)部署编译整个过程将会在远程服务器创建一堆的文件夹,并且将相关的文件全部拷贝至远程服务器,文件范围非常大;
(2)本地启动一个端口与服务器的端口绑定,程序一旦启动运行,本地IDEA中无法关闭本地的程序服务(或者说我不知道在哪里中断),只能通过结束IDEA进程的方式中断;
优点
(1)程序执行时控制台输出的所有内容在本地IDEA中实时输出,方便跟踪和调试代码;
(2)对于一些跨平台API的验证时,或者针对某些固定服务器开启防火墙时的程序应用;
(3)辅助分析IDEA中集成的各种运行方式的参数配置输出,参考IDEA的各项配置设置后的程序运行命令输出;
点赞
发表评论
评论列表
留言区
- IDEA的使用
- Eclipse远程debug的简单实现
- Spring Boot 项目assembly打包实践
- Spring Boot 项目打包静态资源分离实践
- Spring Boot 项目打包完美实践
- 使用Java获取操作系统和硬件信息
- IntelliJ IDEA反向生成Javabean(锲合度100%)
- IntelliJ IDEA的 Groovy 反向生成代码
- 学习IntelliJ IDEA之这次我是认真的
- 学习IntelliJ IDEA之常见设置
- 学习IntelliJ IDEA之快捷键设置
- 学习IntelliJ IDEA之创建Maven类型Web工程
- 学习IntelliJ IDEA之lombok插件
- 学习IntelliJ IDEA之Jrebel插件
- 学习IntelliJ IDEA之安装Git插件
- 更新换代IDEA和插件啦
- Alibaba Cloud Toolkit 之一键部署远程运行实践