我被要求帮助解决一个应用程序问题。
以下是背景——我们有一个JSF1.2应用程序在WAS7中运行。这是一场战争。该团队向同一个应用程序添加了另一个WAR,该应用程序是JSF2.0模块,使用PrimeFaces组件库。因此,它是JSF1.2和JSF2.0的组合。由于WAS 7中没有对JSF 2.0的本机支持,我们将mojarra JAR添加到第二次世界大战的WEB-INF/lib中,并将应用程序类加载器设置为PARENT_LAST。
我观察到的另一件事是,这个团队以这样一种方式html" target="_blank">定义了他们的应用程序,即在应用程序中显示EAR的名称。JSF2.0 WAR的xml和上下文根值完全相同。我知道为了清楚起见不应该这样做,但我找不到任何能澄清这一点的东西。
当尝试从JSF2.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)
我还可以检查什么来确定错误的原因?
这是一个局部设置问题。EAR类加载器最后设置为PARENT_,但WAR类加载器没有。一旦我们在这两个地方都做到了最后一个,它就成功了。
把它作为一个答案,这样其他有同样问题的人可以从答案中找到解决问题的方法,而不是阅读评论。
如果这是一个不好的礼仪,这可以删除。
我知道我需要在servlet上下文中注册用注释的类,以使webapp可访问。通常,我会按照以下方式来做: 我添加到根应用程序上下文中的所有其他配置类。下面是我的dispatcher初始值设定项通常的样子: 但是当我开始使用WebSockets时,事情变得更有趣了。要使websockets工作,必须将WebSoketConfig.class放到servlet上下文中。下面是我的WebSocketCo
据我所知,基于Spring的web应用程序初始化如下: 步骤1:定位的实现,即。 步骤2:< code > SpringServletContainerInitializer 创建< code>DispatcherServlet和< code > context loader listener 第3步:创建。创建。 步骤 1 由 Servlet 3.0 规范定义。步骤2,3完全由Spring定义。
我有一些测试(我没有编写它们,我正在维护它们)使用spring ContextConfiguration注释来提供应用程序上下文: 总之,有几个问题。我不太熟悉spring自定义上下文位置,这些位置不指定file:/或classpath:/。这是什么意思?这个测试类路径上有很多同名的资源。都上膛了吗?如果不是,Spring如何知道要加载哪个? 第二,有没有一种方法可以通过编程方式访问以这种方式连接
当前目录的Spring Boot多上下文问题 在Spring Boot文档应用程序属性文件中 null 在和模块的PluginContext中不可见,只能在中可见,因为它是root,但当前目录在哪里?当前目录是什么意思? 是否可以从自己的模块将包含到PluginContext中,而不需要其他配置(通过或外部配置)?
让spring boot 1.3.x应用程序在application.properties中定义server.context-path=/myPath,并按照Java spring boot中定义重定向请求:如何将我的应用程序根(“/”)映射到index.html? 使用viewControllerRegistry.addViewController(“/”).setViewName(“forwa
问题内容: 我通常在Stack上发布与代码相关的内容,但这更多是关于社区的一般思想的问题。 似乎有很多人主张将Redux与React结合使用来管理数据/状态,但是在阅读和学习两者的过程中,我遇到了一些看起来不太正确的事情。 在此页面底部:http : //redux.js.org/docs/basics/UsageWithReact.html(通过商店),建议您使用React“上下文”的“魔术”。