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-jsf23.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
相关产品推荐
相关产品推荐

