2012-07-17 28 views
1

我認爲我受到了想法的困擾。我試圖將liferay portlet從weblogic移到WAS 8.在weblogic中,我一直使用mojrara實現JSF 2.0和primefaces作爲組件庫。我已經在WAS上安裝了primefaces,並且當我試圖移動Portlet時,問題開始出現。在Websphere應用服務器上使用mojorra實現8

第一個問題是不斷嘗試使用的MyFaces的JSF實現 - 我知道這是因爲MyFaces的拋出異常:

產生的原因:java.lang.IllegalArgumentException異常: factoryName'javax.faces.view .facelets.FaceletCacheFactory在javax.faces.FactoryFinder.checkFactoryName」 (FactoryFinder.java:383)

我有以下Maven中pom.xml文件的依賴關係:

<dependency> 
    <groupId>com.sun.faces</groupId> 
    <artifactId>jsf-api</artifactId> 
    <version>2.1.2</version> 
</dependency> 
<dependency> 
    <groupId>com.sun.faces</groupId> 
    <artifactId>jsf-impl</artifactId> 
    <version>2.1.2</version> 
</dependency> 

而對於WAS應用程序,我設置了類加載器來首先加載我的類。但是這沒有幫助。爲了確保我爲服務器配置了新的類加載器 - 但情況再次重演。我最後的想法是將mojarra jars定義爲共享庫 - 但是之後我得到了ClassFormatException(我沒有時間去調查它)。

任何想法?

[12年7月17日18:52:25:072 CEST] 0000002c配置Ë嚴重錯誤


加入mojorra類戰爭和改變我已經得到了異常的類加載器後部署過程中出現以下錯誤: com.sun.faces.config.ConfigurationException:CONFIGURATION FAILED! com.un.faces.config.ConfigManager.initialize(ConfigManager.java:375) com.un.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java) :225) 在com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1649) 在com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:410)

我追溯了異常,發現只有來自myfaces實現的factoryfinder可能應該添加其他依賴項到已經存在的項目旁邊(jsf-api,jsf-impl)?


指定JSF庫作爲共享庫後,指着他們爲我的抗戰參考 - initalization成功就沒有任何錯誤 - 另一個問題是,現在的Liferay拋出異常:

01 :21:16,956錯誤[LiferayFacesContext:61]實例未初始化 - 調用者可能是靜態的01:21:16,960錯誤[LiferayLocalePhaseListener:87] java.lang.NullPointerException at com.liferay.faces.portal.lifecycle.LiferayLocalePhaseListener .setLocale (LiferayLocalePhaseLis tener.java:67)

也許是因爲我還應該將liferay庫定義爲共享 - 我會在幾秒鐘內嘗試它。

和以下的例外是:在 com.liferay.faces.bridge.renderkit.html_basic.HeadRendererBridgeImpl.encodeBegin (HeadRendererBridgeImpl.java:133)顯示java.lang.NullPointerException

引起

不知道,如果這兩個異常是相互關聯的 - 但結果是,我的portlet將無法正常工作:(

+0

在我的情況PARENT_LAST幫助。通過在web-inf/lib下包含你的mojarra庫併爲模塊設置PARENT_LAST,你有哪些例外?你使用RAD搭配WAS8嗎? – Misha 2012-07-17 08:40:25

回答

1

這是完全有可能我們在WebSphere中使用一些自定義類加載器魔術。在這裏看到這個線程:

http://forum.primefaces.org/viewtopic.php?f=3&t=6860

+0

看起來很有希望,我會讓你知道它怎麼走 – 2012-07-17 21:39:43

+0

好吧,一些新的事實 - 我已經將庫定義爲新創建的類加載器的共享庫,並且所有的文物開始。但問題是在運行portlet我有不兼容的類javax.servlet.ServletContext的異常 - 因爲我發現liferay是建立在版本2.5.0的頂部,但WAS8是與2.6.0的版本交付 – 2012-07-18 12:48:04

+0

你是否遵循所有方向?向下滾動並確保您閱讀了有關獨立類加載器的一些信息,以及每次進行更改時websphere如何讓您從頭開始。 – 2012-07-18 14:54:28

相關問題