将jsf应用程序从weblogic10迁移到weblogic 12c

时间:2014-01-13 11:46:25

标签: weblogic12c

我们在weblogic 12c版本中部署新的核心SDM模块(战争)时遇到了问题。新的SDM核心模块(wb-tss-core-sdm-web-war-0.9.1.war)使用JSF,SeamListeners& FacesServlet(版本1.2罐)我们发现JSF 1.2版本与weblogic 12c版本不直接兼容。因此,应用程序部署失败并出现user defined listener conflict问题

根据Weblogic 12c documentation

  

" WebLogic Server 12.1.1增强了对JSF和JSTL的支持。在这   发布,JSF 2.x和JSTL 1.2已直接合并到   服务器的类路径。部署到WebLogic Server的应用程序可以   无需使用JSF 2.x和JSTL 1.2即可无缝使用   部署和引用单独的共享库,如同的情况一样   以前的版本。为了向后兼容,请使用WebLogic Server   提供可以部署和引用的JSF和JSTL库   应用。请参阅部署JSF 1.2和JSTL库。 "

我们曾尝试在weblogic服务器路径中显式安装JSF 1.2战争,以支持向后兼容性,并通过在weblogic中添加以下条目强制SDM应用程序/ war使用JSF 1.2版本jar。 xml。

<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监听器问题的部署再次失败,因为&#34; jsf-impl-1.2_04_P02.jar&#34; jar已经是(wb-tss-core-sdm-web-war-0.9.1.war)战争的一部分。

尝试在weblogic,xml中添加以下条目,以强制应用程序使用作为应用程序war文件一部分的特定于应用程序的jar /类。

<wls:prefer-application-packages>
<wls:package-name>javax.faces.*</wls:package-name>
<wls:package-name>com.sun.faces.*</wls:package-name>
<wls:package-name>com.bea.faces.*</wls:package-name>
<wls:package-name>com.sun.facelets.*</wls:package-name>
</wls:prefer-application-packages>

添加上述条目后,应用程序部署已成功完成,但在控制台中发现了以下错误:

<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

由于上述错误,部分Jasper文件上传SDM屏幕无法访问,并且因此错误而失败:

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

我们如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

在将JBoss Seam应用程序从Weblogic 10.3.3迁移到Weblogic 12.1.1期间,我们遇到了同样的问题。
通过切换到Weblogic的默认JSF 2.1.14并将Seam版本更新为2.3来解决此问题 希望这会有所帮助。

答案 1 :(得分:0)

不确定您是否在这个问题上看到了更长时间的讨论: Migrating JSF-Application to Weblogic 12

这在分析类似的库迁移问题时帮助了我(hibernate在我的列表中)。