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

Jetty 9.2.13部署PrimeFaces迁移项目时OmniFaces WebSocket初始化失败问题

问题根因

你遇到的Cannot load platform configurator错误核心是当前运行的Jetty服务器未正确集成Java WebSocket(JSR 356)标准实现,OmniFaces的Socket功能依赖该组件完成初始化,和PrimeFaces版本本身没有直接关联。

解决方案

按以下顺序排查即可解决:

  • 确认Jetty版本适配:你使用的JSF 2.2、CDI 1.1技术栈推荐搭配9.4.x系列的Jetty版本,低于9.1的Jetty版本原生不支持JSR 356标准,先确认服务器版本符合要求。
  • 补全WebSocket组件:
    如果你使用独立部署的Jetty服务器,执行以下命令开启WebSocket模块:
    java -jar start.jar --add-to-start=websocket
    
    如果你使用嵌入式Jetty或者项目依赖中未引入WebSocket相关包,在构建配置中添加以下依赖即可,注意依赖版本要和Jetty版本匹配:
    <!-- 仅示例,版本替换为你使用的Jetty对应版本 -->
    <dependency>
        <groupId>org.eclipse.jetty.websocket</groupId>
        <artifactId>jetty-websocket-server</artifactId>
        <version>9.4.51.v20230217</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty.websocket</groupId>
        <artifactId>jetty-websocket-servlet</artifactId>
        <version>9.4.51.v20230217</version>
    </dependency>
    <dependency>
        <groupId>javax.websocket</groupId>
        <artifactId>javax.websocket-api</artifactId>
        <version>1.1</version>
        <scope>provided</scope>
    </dependency>
    
  • 排查依赖冲突:检查项目中是否存在多版本的javax.websocket-api依赖,版本不匹配或者重复引入会导致类加载异常,无法找到默认平台配置器。
  • 临时验证方案:如果暂时不需要使用Push功能,可以先将web.xml中org.omnifaces.SOCKET_ENDPOINT_ENABLED参数值改为false,验证应用其他迁移功能是否正常启动,排除其他迁移问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:36:05