在WebSphere 8.5上使用较新版本的My Faces的共享库

时间:2013-11-25 13:00:14

标签: jsf websphere shared-libraries myfaces websphere-8

我正在将应用程序从WebSphere 7.0迁移到WebSphere 8.5。 WebSphere 8.5使用的旧版MyFaces(2.0.2)比我们使用的(2.0.7),所以我尝试以与WAS 7.0相同的方式配置更新的版本,即使用共享库

我已使用以下jar配置共享库:

myfaces-api-2.0.7.jar
myfaces-impl-2.0.7.jar
commons-logging-1.1.1.jar
commons-digester-1.8.jar
commons-collections-3.2.jar
commons-codec-1.3.jar

我已选中Use an isolated class loader for this shared library选项。我有错误:

  

com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E:   [Servlet错误] - [Faces Servlet]:java.lang.IllegalStateException:不   为此应用程序配置的工厂。如果发生这种情况   faces-initialization完全不起作用 - 确保你   正确包含基本所需的所有配置设置   面向应用程序并包含所有必需的库。也   检查Web应用程序和容器的日志记录输出   任何例外!如果你这样做而一无所获,那就是错误   可能是因为你使用了一些特殊的网络容器   它不支持通过TLD文件和a注册上下文监听器   您的web.xml中未设置上下文侦听器。典型的配置看起来   像这样;

<listener>
  <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
  

at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:196)at at   javax.faces.webapp.FacesServlet.init(FacesServlet.java:112)at at   com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:337)

相同的配置适用于WAS 7.0,但共享库中配置了额外的jar:

  

C:\ IBM \ SDP \运行时\ base_v7 \ optionalLibraries \ IBM \ JSFProviders \ WebSphere的MyFaces20-注解provider.jar

这里有什么问题?我是否需要指定代替WebSphere-MyFaces20-annotation-provider.jar的内容?我无法找到为WAS 8.5配置此类共享库的任何示例。只有that for WAS 7.0,我在WAS 7.0上成功使用过。

1 个答案:

答案 0 :(得分:2)

在WASdev论坛上有一些相关的讨论,但显然还没有真正的答案。

https://www.ibm.com/developerworks/community/forums/html/topic?id=d2261080-de03-4aef-97ce-b60c5b8a517b&ps=25