2014-01-13 64 views
1

我們在使用weblogic 12c版本部署新的核心SDM模塊(戰爭)時遇到了問題。新的SDM核心模塊(wb-tss-core-sdm-web-war-0.9.1.war)使用JSF,SeamListeners和FacesServlet(版本1.2的jar),我們發現JSF 1.2版本並不直接兼容weblogic 12c版本。因此,應用程序部署失敗,user defined listener conflict問題將jsf應用程序從weblogic10遷移到weblogic 12c

Weblogic 12c documentation

"WebLogic Server 12.1.1 has enhanced support for JSF and JSTL. In this release, JSF 2.x and JSTL 1.2 have been incorporated directly in the server's classpath. Your applications deployed to WebLogic Server can seamlessly make use of JSF 2.x and JSTL 1.2 without requiring you to deploy and reference separate shared libraries, as was the case in previous releases. For backward compatibility, WebLogic Server provides JSF and JSTL libraries that can be deployed and referenced by applications. See Deploying JSF 1.2 and JSTL Libraries. "

我們曾試圖明確安裝JSF 1.2戰爭在WebLogic Server路徑按文件來支持向後兼容性和通過在weblogic.xml中添加以下條目,強制SDM應用程序/戰爭使用JSF 1.2版本的jar包。

<wls:library-ref> 
    <wls:library-name>jsf</wls:library-name> 
    <wls:specification-version>1.2</wls:specification-version> 
    <wls:implementation-version>1.2</wls:implementation-version> 
    <wls:exact-match>false</wls:exact-match> 
</wls:library-ref> 

但部署與FacesServlet的聽衆問題再次失敗,因爲該 「JSF-IMPL-1.2_04_P02.jar」 罐子已經是(WB-TSS-核心SDM-網絡戰爭0.9.1的一部分戰爭)。

試圖在weblogic xml中添加以下條目以強制應用程序使用作爲應用程序war文件一部分的特定於應用程序的jar/classes。

添加上述條目後,應用程序部署成功完成,但已經注意到在控制檯以下錯誤:

<BEA-101162> <User defined listener com.sun.faces.config.ConfigureListener failed: javax.faces.FacesException: org.jboss.seam.jsf.SeamApplicationFactory. 
javax.faces.FacesException: org.jboss.seam.jsf.SeamApplicationFactory 

由於這個上面的錯誤,一些碧玉文件上傳SDM屏幕無法訪問,因此出現此錯誤失敗:

java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.render.RenderKitFactory. Attempting to find backup. 

我們如何克服這個問題?

+0

請幫幫我。我無法爲此找到任何解決方案。 – user3190018

回答

0

在將JBoss Seam應用程序從Weblogic 10.3.3遷移到Weblogic 12.1.1期間,我們遇到了同樣的問題。
通過切換到Weblogic的默認JSF 2.1.14並將Seam版本更新爲2.3來解決該問題。
希望這會有所幫助。

相關問題