我已将myfaces-api.1.2.2.jar和myfaces-impl.1.2.2.jar打包到我的war的web-inf / lib目录中。如果我将此部署作为压缩的war文件部署到weblogic 10.3服务器,则启动日志显示:
INFO:FacesConfigurator:339 - MyFaces-package:找不到myfaces-api。
信息:FacesConfigurator:339 - MyFaces-package:找不到myfaces-impl。
信息:FacesConfigurator:339 - MyFaces-package:找不到tomahawk-sandbox。
信息:FacesConfigurator:339 - MyFaces-package:找不到战斧。
如果我从战争中取出罐子并将它们放入系统类路径的域的lib目录中,那么一切正常并且启动日志显示:
信息:启动MyFaces-package:myfaces-api版本:1.2.2 from path:file:/ C:/weblogic/user_projects/domains/testDomain/lib/myfaces-api-1.2.2.jar
信息:启动MyFaces-package:myfaces-impl in version:1.2.2 from path:file:/ C:/weblogic/user_projects/domains/testDomain/lib/myfaces-impl-1.2.2.jar
信息:MyFaces-package:找不到tomahawk-sandbox
信息:启动MyFaces-package:tomahawk版本:1.1.6 from path:file:/ C:/weblogic/user_projects/domains/testDomain/lib/tomahawk-1.1.6.jar
我想将此部署为weblogic中的共享库战...所以问题是如何在war文件中打包时能够识别myfaces jar?
答案 0 :(得分:0)
通过查看org.apache.myfaces.config.FacesConfigurator的源代码,它显示它只会查看以jar开头的路径:这解释了为什么在以自定义的形式部署时找到myfaces jar weblogic模块或域lib文件夹。
当部署在war文件(zip)中时,路径以zip:开头,并被忽略。因此,作为测试,我在添加以zip开头的路径后重新编译并重新打包org.apache.myfaces.config.FacesConfigurator源:作为检查的可行位置并找到了罐子。以下是执行此更改后服务器启动时的输出:
org.apache.myfaces.config.FacesConfigurator:511) - 阅读config zip: C:/ weblogic / user_projects / domains / testDomain / servers / AdminServer / tmp / _WL_user / jsf-myfaces / x3xrze / WEB-INF / lib目录/战斧-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版本: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级别的日志,可以忽略它。