Jsf 2 EAR应用程序名称和上下文根相同有任何问题吗?
我被要求帮助解决一个应用程序问题 这是背景——我们有一个JSF1.2应用程序在WAS7中运行。这是一场战争。该团队向同一个应用程序添加了另一个WAR,该应用程序是JSF2.0模块,并使用PrimeFaces组件库。因此,它是JSF1.2和JSF2.0的组合。由于WAS7中没有对JSF2.0的本机支持,我们在第二次世界大战的WEB-INF/lib中添加了mojarra JAR,并将应用程序类加载器设置为PARENT_LAST 我观察到的另一件事是,这个团队以这样一种方式定义了他们的应用程序,即application.xml中EAR的显示名称和JSF2.0WAR的上下文根值完全相同。我知道为了清楚起见不应该这样做,但我找不到任何东西来澄清它 当尝试从JSF2.0WAR中获取页面时,应用程序出现以下错误。我将只添加几行堆栈跟踪Jsf 2 EAR应用程序名称和上下文根相同有任何问题吗?,jsf-2,primefaces,websphere-7,application.xml,Jsf 2,Primefaces,Websphere 7,Application.xml,我被要求帮助解决一个应用程序问题 这是背景——我们有一个JSF1.2应用程序在WAS7中运行。这是一场战争。该团队向同一个应用程序添加了另一个WAR,该应用程序是JSF2.0模块,并使用PrimeFaces组件库。因此,它是JSF1.2和JSF2.0的组合。由于WAS7中没有对JSF2.0的本机支持,我们在第二次世界大战的WEB-INF/lib中添加了mojarra JAR,并将应用程序类加载器设置为PARENT_LAST 我观察到的另一件事是,这个团队以这样一种方式定义了他们的应用程序,即ap
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)
我还可以检查什么来确定错误的原因?这是一个部分设置问题。EAR类加载器最后设置为PARENT_,但WAR类加载器没有设置。一旦我们让它在这两个地方都成为最后一个,它就成功了 将此作为一个答案,以便其他有相同问题的人可以从答案中找到解决问题的方法,而不是阅读评论
如果这是一种不好的礼节,可以删除。该方法是在JSF 2.0中添加的,在JSF 1.2中不存在。因此,这表明实际上使用了JSF1.2而不是JSF2.0。谢谢。这是一个局部设置问题。EAR类加载器最后设置为PARENT_,但WAR类加载器没有设置。一旦我们让它在这两个地方都成为最后一个,它就成功了。所以我现在的新问题是-耳朵级设置和战争级设置有什么区别?还是我应该为此提出一个新问题?