2012-11-20 80 views
1

我已將myfaces-api.1.2.2.jar和myfaces-impl.1.2.2.jar打包到我的war的web-inf/lib目錄中。如果我將其作爲壓縮的war文件部署到weblogic 10.3服務器,啓動日誌將顯示:在戰爭部署到Weblogic 10.3時未找到MyFaces-api

INFO:FacesConfigurator:339 - MyFaces-package:myfaces-api not found。
INFO:FacesConfigurator:339 - MyFaces-package:找不到myfaces-impl。
INFO:FacesConfigurator:339 - MyFaces-package:找不到tomahawk-sandbox。
INFO:FacesConfigurator:339 - MyFaces-package:找不到tomahawk。

如果我把罐子退出戰爭,並把它們轉化爲系統的classpath域的lib目錄下,然後一切工作正常,並啓動日誌顯示:

信息:啓動MyFaces的包:myfaces- api in version:1.2.2 from path:file:/ C:/weblogic/user_projects/domains/testDomain/lib/myfaces-api-1.2.2.jar
信息:在版本中啓動MyFaces-package:myfaces-impl :1.2.2 from path:file:/ C:/weblogic/user_projects/domains/testDomain/lib/myfaces-impl-1.2.2.jar
INFO:MyFaces-package:tomahawk-sandbox not found。
信息:從路徑1.1.6:文件:啓動MyFaces的包:在版本戰斧/ C:/weblogic/user_projects/domains/testDomain/lib/tomahawk-1.1.6.jar

我會喜歡將這部署爲weblogic中的共享庫戰爭...所以問題是如何獲取myfaces jars在打包到war文件時被識別?

+0

你可以嘗試添加prefer-web-inf-classes到weblogic.xml嗎? [參考文獻](http://stackoverflow.com/questions/13375185/class-cast-exception-in-weblogic/13375555#13375555) – Mani

回答

0

通過查看org.apache.myfaces.config.FacesConfigurator的源代碼,它顯示它只會查看以jar開頭的路徑:這解釋了爲什麼myfaces jars在部署爲自定義weblogic模塊或在域lib文件夾中。

當部署在war文件(zip)中時,路徑以zip開始:並被忽略。因此,作爲測試,我添加了以zip開頭的路徑後重新編譯並重新封裝了org.apache.myfaces.config.FacesConfigurator源代碼:作爲可行的位置進行檢查並找到了罐子。這裏是這樣做的改變後在服務器啓動時的輸出:

org.apache.myfaces.config.FacesConfigurator:511) - 在讀取配置郵編: C:/ weblogic的/ user_projects /域/ TESTDOMAIN /服務器/ 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) - 讀取config /WEB-INF/faces-config.xml
org.apache.myfaces.config.FacesConfigurator:333) - 從路徑:C:/ weblogic/user_projects啓動MyFaces-package:myfaces-api版本:1.2.2 /domains/testDomain/servers/AdminServer/tmp/_WL_user/jsf-myfaces/x3xrze/WEB-INF/lib/myfaces-api-1.2.2.jar
org.apache.myfaces.c onfig.FacesConfigurator:333) - 從路徑:C:/weblogic/user_projects/ domains/testDomain/servers/AdminServer/tmp/_WL_user/jsf-myfaces/x3xrze啓動MyFaces-package:版本:1.2.2中的myfaces-impl/WEB-INF/lib/myfaces-impl-1.2.2.jar

需要注意的是,'myfaces api not found'日誌語句在任何方面都不重要......它只是一個INFO級別的日誌,它可以被忽略。