我認爲我受到了想法的困擾。我試圖將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將無法正常工作:(
在我的情況PARENT_LAST幫助。通過在web-inf/lib下包含你的mojarra庫併爲模塊設置PARENT_LAST,你有哪些例外?你使用RAD搭配WAS8嗎? – Misha 2012-07-17 08:40:25