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

Weblogic 14c环境部署应用出现JSF初始化失败问题咨询

故障根因

该错误是Weblogic版本升级后JSF实现类加载冲突导致:

  • Weblogic 11g默认内置JSF实现为Apache MyFaces,与你应用中打包的myfaces-all-1.1.1.jar兼容,可正常运行
  • Weblogic 14c默认内置JSF实现切换为Oracle Mojarra,你应用自带的MyFaces实现与容器内置的Mojarra Injection SPI接口不兼容,触发注入失败报错
解决方案

按优先级可选择以下任意一种方案处理:

方案1:配置应用优先加载自带的MyFaces依赖

在应用WEB-INF目录下新增/修改weblogic.xml,添加类加载优先级配置:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.9/weblogic-web-app.xsd">
    <container-descriptor>
        <prefer-application-packages>
            <package-name>javax.faces.*</package-name>
            <package-name>org.apache.myfaces.*</package-name>
            <package-name>com.sun.faces.*</package-name>
        </prefer-application-packages>
        <prefer-application-resources>
            <resource-name>META-INF/services/javax.faces.*</resource-name>
            <resource-name>META-INF/faces-config.xml</resource-name>
        </prefer-application-resources>
    </container-descriptor>
</weblogic-web-app>

如果是EAR包部署,还需要在EAR根目录META-INF/weblogic-application.xml中添加相同的prefer-application-packages配置。

方案2:移除应用自带的JSF依赖,使用容器内置实现

删除应用WEB-INF/lib下的所有JSF相关依赖包:

  • myfaces-all-1.1.1.jar
  • jsf-facelets-1.2.jar
  • 其他自定义打包的javax.faces、myfaces相关jar包

该方案适配Weblogic 14c默认技术栈,无需额外配置类加载,但需要回归测试应用功能,避免低版本MyFaces API与高版本Mojarra的兼容性差异。

生效操作

配置完成后执行以下操作避免缓存影响:

  1. 停止Weblogic服务
  2. 删除Weblogic临时目录下对应应用的缓存文件:$DOMAIN_HOME/servers/[服务名]/tmp/_WL_user/[应用名]/
  3. 重启Weblogic服务,重新部署应用验证

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:06:02