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

JakartaEE应用部署至Payara-6时触发异常,请求协助排查

排查Payara 6部署JakartaEE应用时的ExceptionInInitializerError异常

先梳理日志中的关键错误与警告信息:

[2023-08-23T02:44:31.487+0530] [] [WARNING] [] [jakarta.enterprise.launcher] [...] You are running the product on an unsupported JDK version and might see unexpected results or exceptions.

java.lang.ExceptionInInitializerError
at org.glassfish.pfl.dynamic.codegen.spi.Wrapper$PackageContext.<init>(Wrapper.java:477)
...
at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:104)

排查步骤:

  1. 优先解决JDK版本不兼容问题
    Payara 6仅支持JDK 11和17(LTS版本),日志明确提示使用了不支持的JDK版本,这是触发动态代码生成模块(glassfish-pfl)报错的核心原因:

    • 执行java -version检查当前JDK版本
    • 替换为Payara官方支持的JDK 11/17,重启服务器后重新部署应用
  2. 修复JDBC连接池参数错误
    日志显示连接池参数配置非法,虽然系统自动使用默认值,但可能引发后续数据库操作异常:

    • 登录Payara管理控制台,定位到对应的JDBC连接池配置
    • 将maxPoolSize修改为正整数(如默认值32),steadyPoolSize修改为正整数(如默认值8)
    • 保存配置后重启连接池或服务器
  3. 排查EJB类加载与静态初始化问题
    如果上述步骤仍未解决,需进一步定位EJB初始化失败的细节:

    • 获取完整异常堆栈(当前日志缺少Caused by部分),确认静态初始化块中的具体错误原因
    • 检查应用打包的WEB-INF/lib目录,移除与Payara服务器内置重复的依赖(如glassfish-pfl相关jar包),避免类加载冲突
    • 检查EJB类中的静态代码块、静态变量初始化逻辑,确认是否存在空指针、资源加载失败等问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 21:47:34