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

使用YAJSW启动Java应用后无法远程调试问题求助

解决YAJSW启动Java应用无法远程调试的问题

你踩的坑其实是参数传递的位置搞错了,而且配置格式也有小问题,我帮你捋清楚:

首先,先纠正你当前配置的问题:你把JVM调试参数放到了wrapper.app.parameter里,这个配置项是用来传递你的Java应用main方法的入参的,不是给JVM用的,所以调试参数根本没被JVM识别到。另外你给逗号加了转义,这在YAJSW的properties配置里是多余的,反而会导致参数解析失败。

正确的配置方式

要用wrapper.app.additional系列参数来传递JVM级别的启动参数,这才是专门给目标Java应用的JVM加额外参数的地方。把你的配置改成这样:

# 远程调试JVM参数
wrapper.app.additional.1=-Xdebug
wrapper.app.additional.2=-Xrunjdwp:transport=dt_socket,address=8888,server=y,suspend=n

为什么之前的方法不生效?

  • 用setenv配置:这里的参数会被加到YAJSW自身的JVM启动命令里,所以只有YAJSW进程进入调试模式,和你的目标应用完全没关系。
  • 用wrapper.app.parameter配置:如前面所说,这个是给应用main方法传参的,JVM根本不会把这些当成自己的启动参数处理。

验证配置是否生效

重启YAJSW后,用jps -v命令查看目标应用的进程,检查启动参数里是否包含这两个调试参数。如果能看到,就说明配置成功了,之后直接用IDE连接localhost:8888就能开始远程调试了。

内容的提问来源于stack exchange,提问作者gladiator

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:53:10