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

Windows下Payara 4.1.2.181 Debug模式启动失败求助

解决Payara 4.1.2.181在JDK8下Debug模式启动失败的问题

先帮你拆解下问题里的关键信息:

  • 你用的是JDK 8(jdk1.8.0_172),而Payara 4.1.2.181默认配置里还保留了JDK 7及以前的MaxPermSize参数,这会触发警告,但这个警告本身不会导致启动失败。
  • 真正的罪魁祸首是JDWP传输错误:JDWP传输错误202:连接被拒绝,JDWP Transport dt_socket初始化失败,这说明调试端口被占用或者配置有问题,导致JVM无法开启调试监听,最终退出(退出码2)。

下面是具体的排查和解决步骤:

1. 检查默认调试端口是否被占用

Payara默认的调试端口是9009,你需要确认这个端口有没有被其他进程占用:

  • Windows系统:打开命令提示符,执行:
    netstat -ano | findstr :9009
    
    如果有输出,记下PID,打开任务管理器结束对应的进程。
  • Linux/macOS系统:打开终端,执行:
    lsof -i :9009
    
    用kill <PID>杀掉占用端口的进程。

2. 修改Payara的调试端口(如果端口被占用且无法释放)

如果不想杀掉占用端口的进程,可以修改Payara的调试监听端口:

  1. 找到Payara安装目录下的domain配置文件:{Payara安装路径}/glassfish/domains/domain1/config/domain.xml
  2. 搜索<java-config>节点下的debug-options,找到类似这样的配置:
    <debug-options>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9009</debug-options>
    
  3. 把address=9009改成其他未被占用的端口,比如address=9010
  4. 保存文件后,重新执行asadmin start-domain --debug=true

3. 移除过时的MaxPermSize参数(可选,但建议清理)

JDK 8已经移除了PermGen,改用Metaspace,所以MaxPermSize=192m参数完全没用,还会触发警告。你可以删掉它:

  1. 同样在domain.xml里搜索<jvm-options>,找到这一行:
    <jvm-options>-XX:MaxPermSize=192m</jvm-options>
    
  2. 删除这一行,保存文件即可。

做完以上步骤后,再尝试启动debug模式,应该就能正常启动了。如果还是有问题,可以检查下Payara的domain1/logs/server.log有没有新增的错误信息,不过根据你描述的情况,端口问题应该是核心原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:57:51