You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Deb包封装的Java Spring Boot应用开启远程调试

如何为Deb包封装的Java Spring Boot应用开启远程调试

我来帮你一步步搞定这个远程调试的配置问题!

你猜的没错,那个systemd服务配置文件(就是你截图里的那个)正是添加调试参数的关键位置,具体操作步骤如下:

  • 首先编辑你的应用服务配置文件,比如用命令打开:

    sudo nano /etc/systemd/system/myapp.service
    

    (如果你的服务文件路径不一样,替换成实际路径就行)

  • 找到[Service]区块下的ExecStart行,这行是启动Spring Boot应用的核心命令。你需要把远程调试的JVM参数放在-jar参数的前面(因为这是JVM级别的启动参数,要优先指定),修改后的格式大概是这样:

    ExecStart=/usr/bin/java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000 -jar /path/to/your/application.jar
    

    这里的address=*:8000表示允许任意IP通过8000端口连接调试,suspend=n意思是应用启动时不会暂停等待调试器连接,如果你需要启动时暂停等调试器连上,改成suspend=y就行。

  • 保存并关闭文件后,需要让systemd重新加载配置,不然修改不会生效:

    sudo systemctl daemon-reload
    
  • 最后重启你的应用服务,让新的启动参数生效:

    sudo systemctl restart myapp.service
    
  • 额外提醒:别忘了检查Ubuntu的防火墙设置,确保8000端口是开放的,不然远程调试工具连不上。可以用这条命令开放端口:

    sudo ufw allow 8000/tcp
    

如果你的Deb包是用Spring Boot官方构建插件生成的,其实也能在构建阶段预设调试参数,但这样会让所有部署的实例默认开启调试,不太适合生产环境,所以临时调试的话,直接修改systemd服务文件是最灵活的方案~

备注:内容来源于stack exchange,提问作者gstackoverflow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 19:49:30