IntelliJ IDEA 远程部署与调试 Java 应用全流程

码头散步
码头散步
发布时间:2026-10-16| 4人浏览过
原创

当本地开发环境无法直接访问远程数据库或依赖服务时,利用 IntelliJ IDEA 的 Run on ... 功能可通过 SSH 连接将应用部署至远程服务器并进行断点调试。本文将演示基于 Spring Boot 项目的完整配置步骤。

准备远程服务器环境

在进行 IDEA 远程调试前,需确保目标 Linux 服务器已安装对应版本的 JDK 并完成基础环境变量配置。

第1步:安装 JDK

目的:在服务器上安装用于运行 Java 应用的基础环境。

操作:使用包管理器安装 OpenJDK 8。

yum install -y java-1.8.0-openjdk-devel.x86_64

验证安装:

java -version
# 预期输出示例
openjdk version "1.8.0_302"
OpenJRT Runtime Environment (build 1.8.0_302-b08)

第2步:配置 JAVA_HOME

目的:明确 JDK 安装路径,便于后续脚本或工具识别。

操作:

  1. 查找实际安装路径:
find / -name java | grep bin/java
# 常见路径:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64/bin/java

进入目录查看确认:


[root@switch-sz-service-test ~]# ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64
total 180
-rw-r--r-- 1 root root 1522 Jul 22 01:18 ASSEMBLY_EXCEPTION
drwxr-xr-x 2 root root 4099 Oct 4 00:29 bin
...

修改配置文件:

vim /etc/profile
# 在文件末尾追加:
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64
export JAVA_HOME
source /etc/profile
echo $JAVA_HOME

准备本地测试项目

创建一个基础的 Spring Boot 项目以验证远程调试链路是否通畅。

第3步:创建 Spring Boot 工程

使用 Spring Initializr 生成项目骨架。参考结构如下:

第4步:编写 HelloController

新建 Controller 类用于接收请求并返回结果:

package com.switchvov.springboot.remote.deploy.demo.controller;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/hello")
@Slf4j
public class HelloController {
@GetMapping("/{name}")
public String hello(@PathVariable("name") String name) {
String hello = "hello " + name;
log.info(hello);
return hello;
}
}

第5步:启动主程序并本地验证

确保主类 SpringbootRemoteDeployDemoApplication 包含标准的 main 方法。在本地运行后,通过 curl 验证接口连通性:

$ curl http://127.0.0.1:8080/hello/world
hello world
%

配置 IDEA 远程部署

本部分核心在于建立本地 IDE 与远程服务器的安全连接,并映射端口以便本地调试。

第6步:修改运行配置

入口:IDEA 顶部运行配置下拉菜单 → Modify Run Configuration...。

第7步:添加 SSH 远程目标

动作:点击 Run on 下拉框 → 选择 SSH... 新建连接。

第8步:填写 SSH 连接信息

参数说明:

  • Host: 服务器 IP 地址(如 120.78.218.44)。
  • Username: SSH 登录用户(如 root)。
  • Password: 密码或密钥路径。

第9步:环境校验与路径确认

IDEA 会自动尝试连接并检测服务器上的环境。控制台应显示类似以下成功日志:


Successfully connected to root@120.78.218.44:22
> pwd
/root
Checking rsync connection...
Starting introspection for Java...
> echo ${JAVA_HOME}
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64
> java -version
openjdk version "1.8.0_302"

注意检查配置页面上的关键参数:

  • Project path on target: 远程部署路径。
  • JDK home path: 服务器 JDK 路径,必须与 JAVA_HOME 一致。

确认无误后点击 Finish 保存远程配置。

执行远程部署与调试

第10步:启动应用

操作:直接点击 IDEA 中的绿色启动按钮。

状态观察:

  • IDEA 会将编译后的 Class/JAR 文件通过 SSH Rsync 推送到远程服务器指定目录。
  • 终端日志会显示本地端口(如 63006)被动态映射到了远程服务器的应用监听端口(如 8080)。

第11步:验证连通性与调试

本地验证:

$ curl http://localhost:63006/hello/world
hello world
%

服务器验证:

[root@switch-sz-service-test ~]# ll
drwxr-xr-x 38 root root 4099 Oct 4 01:08 springboot-remote-deploy-demo
[root@switch-sz-service-test ~]# curl http://127.0.0.1:8080/hello/world
hello world[root@switch-sz-service-test ~]#

此时,你可以在本地代码中打断点,IDEA 会在触发断点时暂停执行,实现远程调试效果。这种机制比搭建反向代理服务更具安全性且操作更简便。

以上就是 IntelliJ IDEA 远程部署调试 Java 应用程序的详细流程,更多关于 Java 开发和远程调试的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。