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

如何配置WildFly 10使用WEB-INF/lib中的JSF包而非自带实现

解决WildFly 10优先使用WEB-INF/lib中JSF实现的配置方法

嗨,这个问题我之前帮不少开发者处理过,WildFly默认会优先加载自身内置的JSF模块,要切换成你项目WEB-INF/lib下的JSF包,只需要做以下几步配置:

1. 创建/修改jboss-deployment-structure.xml文件

在你的WEB-INF目录下新建(如果已有则修改)这个文件,通过它来告诉WildFly排除内置的JSF相关模块,让类加载器优先加载你lib里的包。配置内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <!-- 排除WildFly内置的JSF子系统 -->
        <exclude-subsystems>
            <subsystem name="jsf" />
        </exclude-subsystems>
        <!-- 排除具体的JSF API和实现模块 -->
        <exclusions>
            <module name="javax.faces.api" slot="main"/>
            <module name="com.sun.jsf-impl" slot="main"/>
        </exclusions>
    </deployment>
</jboss-deployment-structure>

这里的核心是通过<exclude-subsystems>关闭内置JSF子系统的自动加载,再用<exclusions>排除具体的API和实现模块,确保WildFly不会去加载自带的JSF包。

2. 确保WEB-INF/lib中有完整的JSF包

把你想用的JSF API和实现包放到WEB-INF/lib下,比如如果你用Mojarra,就需要javax.faces.jar(API包)和jsf-impl.jar(实现包);如果是MyFaces,对应就是myfaces-api.jar和myfaces-impl.jar。注意要保证两个包版本匹配,避免出现兼容性问题。

3. EAR部署的特殊配置(如果适用)

如果你的项目是EAR包形式,需要在jboss-deployment-structure.xml中针对WAR子部署添加同样的排除规则,示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <sub-deployment name="your-web-module.war">
        <exclude-subsystems>
            <subsystem name="jsf" />
        </exclude-subsystems>
        <exclusions>
            <module name="javax.faces.api" slot="main"/>
            <module name="com.sun.jsf-impl" slot="main"/>
        </exclusions>
    </sub-deployment>
</jboss-deployment-structure>

额外注意事项

  • 如果你使用的是JSF 2.3及以上版本,记得在web.xml中添加对应的上下文参数,确保CDI等特性正常工作:
<context-param>
    <param-name>javax.faces.ENABLE_CDI_RESOLVER_CHAIN</param-name>
    <param-value>true</param-value>
</context-param>
  • 部署前可以清理WildFly的临时目录(standalone/tmp和standalone/data),避免残留的旧JSF类影响加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:55:38