【问题标题】:MyFaces-api not found when packed in war deployed to Weblogic 10.3在部署到 Weblogic 10.3 的战争中打包时找不到 MyFaces-api
【发布时间】:2012-11-20 16:35:15
【问题描述】:

我已将 myfaces-api.1.2.2.jar 和 myfaces-impl.1.2.2.jar 打包到我的 war 的 web-inf/lib 目录中。如果我将其作为压缩的 war 文件部署到 weblogic 10.3 服务器,则启动日志显示:

信息:FacesConfigurator:339 - MyFaces-package : myfaces-api 未找到。
信息:FacesConfigurator:339 - MyFaces-package : myfaces-impl 未找到。
信息:FacesConfigurator:339 - MyFaces-package:未找到 tomahawk-sandbox。
信息:FacesConfigurator:339 - MyFaces-package:找不到战斧。

如果我将 jar 从战争中取出并将它们放入系统类路径的域的 lib 目录中,那么一切正常并且启动日志显示:

信息:启动 MyFaces-package:myfaces-api 版本:1.2.2 从路径:file:/C:/weblogic/user_projects/domains/testDomain/lib/myfaces-api-1.2.2.jar
信息:启动 MyFaces-package:myfaces-impl 版本:1.2.2 从路径:file:/C:/weblogic/user_projects/domains/testDomain/lib/myfaces-impl-1.2.2.jar
信息:MyFaces-package:未找到 tomahawk-sandbox。
信息:启动 MyFaces-package:tomahawk 版本:1.1.6 从路径:file:/C:/weblogic/user_projects/domains/testDomain/lib/tomahawk-1.1.6.jar

我希望将其部署为 weblogic 中的共享库战争...所以问题是我如何才能在打包到战争文件中时识别 myfaces jar?

【问题讨论】:

  • 您可以尝试将prefer-web-inf-classes 添加到weblogic.xml 吗? Reference

标签: jsf weblogic war jsf-1.2 myfaces


【解决方案1】:

通过查看 org.apache.myfaces.config.FacesConfigurator 的源代码,它表明它只会查看以 jar: 开头的路径,这解释了为什么在以自定义形式部署时会找到 myfaces jar weblogic 模块或域 lib 文件夹中。

当部署在 war 文件 (zip) 中时,路径以 zip: 开头并且被忽略。因此,作为测试,我在添加以 zip: 开头的路径后重新编译并重新打包了 org.apache.myfaces.config.FacesConfigurator 源代码:作为检查的可行位置并找到了 jar。这是更改后服务器启动时的输出:

org.apache.myfaces.config.FacesConfigurator:511) - 读取配置 zip:C:/weblogic/user_projects/domains/testDomain/servers/AdminServer/tmp/_WL_user/jsf-myfaces/ x3xrze/WEB-INF/lib/tomahawk-1.1.6.jar!/META-INF/faces-config.xml
org.apache.myfaces.config.FacesConfigurator:570) - 读取配置 /WEB-INF/faces-config.xml
org.apache.myfaces.config.FacesConfigurator:333) - 启动 MyFaces-package : myfaces-api in version : 1.2.2 from path : C:/weblogic/user_projects/domains/testDomain/servers/AdminServer/tmp/_WL_user/ jsf-myfaces/x3xrze/WEB-INF/lib/myfaces-api-1.2.2.jar
org.apache.myfaces.config.FacesConfigurator:333) - 启动 MyFaces-package : myfaces-impl in version : 1.2.2 from path : C:/weblogic/user_projects/domains/testDomain/servers/AdminServer/tmp/_WL_user/ jsf-myfaces/x3xrze/WEB-INF/lib/myfaces-impl-1.2.2.jar

需要注意的是,'myfaces api not found' 日志语句在任何方面都不重要...它只是一个 INFO 级别的日志,可以忽略。

【讨论】:

    猜你喜欢
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多