EAR应用程序名称和上下文根相同的任何问题?

时间:2013-06-03 23:48:44

标签: jsf-2 primefaces websphere-7 application.xml

我被要求帮助解决应用程序问题。

以下是背景 - 我们在WAS 7中运行了一个JSF 1.2应用程序。这是一个WAR。该团队已将另一个WAR添加到同一应用程序,该应用程序是JSF 2.0模块并使用PrimeFaces组件库。因此它是JSF 1.2和JSF 2.0的组合。由于WAS 7中没有对JSF 2.0的原生支持,我们已将mojarra jar添加到第二次战争的WEB-INF / lib中,并将应用程序类加载器设置为PARENT_LAST。

我观察到的另一件事是,该团队已经定义了他们的应用程序,使得application.xml中的EAR的显示名称和JSF 2.0 WAR的context-root值完全相同。我知道为了清楚起见,不应该这样做,但找不到任何澄清它的东西。

当尝试从JSF 2.0 WAR中引入页面时,应用程序正在低于错误。我只会添加几行堆栈跟踪

Exception created : java.lang.NoSuchMethodError: javax/faces/context/FacesContext.getAttributes()Ljava/util/Map;
at org.primefaces.lifecycle.RestoreViewPhaseListener.afterPhase(RestoreViewPhaseListener.java:30)
at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)

我还可以检查以确定错误原因?

1 个答案:

答案 0 :(得分:1)

这是一个部分设置问题。 EAR类加载器设置为PARENT_LAST,但WAR类加载器不是。一旦我们在两个地方都制作了PARENT_LAST,就可以了。

将此作为答案,以便具有相同问题的其他人可以找到从答案中修复它而不是阅读评论的内容。

如果这是一个不好的礼节,可以删除。