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

Jakarta Faces 4.x集成PrettyFaces遇WildFly30部署失败求助

Jakarta 10 + WildFly 30 下 PrettyFaces 部署失败问题

环境信息

  • Jakarta EE 10
  • Java 21
  • WildFly 30
  • 需在JSF应用中通过PrettyFaces实现URL重写

依赖配置(pom.xml)

<dependency>
    <groupId>org.ocpsoft.rewrite</groupId>
    <artifactId>rewrite-servlet</artifactId>
    <version>8.0.2.Final</version>
</dependency>
<dependency>
    <groupId>org.ocpsoft.rewrite</groupId>
    <artifactId>rewrite-config-prettyfaces</artifactId>
    <version>8.0.2.Final</version>
</dependency>
<dependency>
   <groupId>com.ocpsoft</groupId>
   <artifactId>prettyfaces-jsf2</artifactId>
   <version>3.3.3</version>
</dependency>

尝试过的依赖组合

  • 仅使用前两个Rewrite依赖(rewrite-servlet + rewrite-config-prettyfaces 8.0.2.Final)
  • 仅使用旧版prettyfaces-jsf2 3.3.3
  • 同时启用上述三个依赖
    所有组合均导致部署失败

部署报错信息

WildFly启动时抛出以下NoClassDefFoundError:

22:01:42,194 WARN  [org.jboss.modules.define] (MSC service thread 1-8) Failed to define class com.ocpsoft.pretty.faces.application.PrettyViewHandler in Module "deployment.camplus.war" from Service Module Loader: java.lang.NoClassDefFoundError: Failed to link com/ocpsoft/pretty/faces/application/PrettyViewHandler

22:01:42,121 WARN  [org.jboss.modules.define] (MSC service thread 1-8) Failed to define class com.ocpsoft.pretty.faces.application.PrettyNavigationHandler in Module "deployment.camplus.war" from Service Module Loader: java.lang.NoClassDefFoundError: Failed to link com/ocpsoft/pretty/faces/application/PrettyNavigationHandler

22:01:42,111 WARN  [org.jboss.modules.define] (MSC service thread 1-8) Failed to define class org.ocpsoft.rewrite.faces.RewriteViewHandler in Module "deployment.camplus.war" from Service Module Loader: java.lang.NoClassDefFoundError: Failed to link org/ocpsoft/rewrite/faces/RewriteViewHandler 

额外尝试的配置

在web.xml中手动添加PrettyFilter配置:

<filter>
    <filter-name>Pretty Filter</filter-name>
    <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>Pretty Filter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>ERROR</dispatcher>
</filter-mapping>

PrettyFaces配置文件(pretty-config.xml)

<prety-config
    xmlns="http://ocpsoft.org/schema/rewrite-config-prettyfaces"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://ocpsoft.org/schema/rewrite-config-prettyfaces
                      http://ocpsoft.org/xml/ns/prettyfaces/rewrite-config-prettyfaces.xsd">

    <url-mapping id="login">
        <pattern value="/login" />
        <view-id value="/Login.jsf" />
    </url-mapping>
</pretty-config>

问题状态

已尝试官方文档提供的所有方案,但始终无法成功部署,PrettyFaces完全无法正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 01:50:58