Jsf Winstone:找不到工厂:javax.faces.context.FacesContextFactory
我无法在Winstone服务器上发布JSF2应用程序 服务器配置良好,当我删除Jsf Winstone:找不到工厂:javax.faces.context.FacesContextFactory,jsf,winstone,Jsf,Winstone,我无法在Winstone服务器上发布JSF2应用程序 服务器配置良好,当我删除 <load-on-startup>1</load-on-startup> 1 从web.xml开始,它正常启动: 但当我尝试启动indew.xhtml时,服务器报告: myweb.xml的一部分: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLS
<load-on-startup>1</load-on-startup>
1
从web.xml开始,它正常启动:
但当我尝试启动indew.xhtml时,服务器报告:
myweb.xml的一部分:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>PIA</display-name>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
<description>State saving method: 'client' or 'server'.</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
</web-app>
巴基斯坦国际航空公司
60
index.xhtml
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.xhtml
状态保存方法:“客户端”或“服务器”。
javax.faces.STATE_保存方法
客户
javax.servlet.jsp.jstl.fmt.localizationContext
资源.应用
javax.faces.DEFAULT_后缀
.xhtml
更新:我尝试了
winstone 1.0.0.jar
,它报告了以下内容:
但是我的WEB-INF\lib文件夹中有slf4j-api-1.6.4.jar
和slf4j-log4j12-1.6.4.jar
。。。
哪里应该有问题?将此添加到
web.xml
以显式注册侦听器,该侦听器应该配置JSF工厂
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
com.sun.faces.config.ConfigureListener
另一种可能的解决方案是从FacesServlet
中删除
,但我从未使用过Winstone,因此我无法保证这是否适用于该服务器
这种变通方法在性能良好的服务器中通常不是强制性的,但在性能较差的服务器中却是强制性的。有关更多背景信息,请参见
根据注释更新添加侦听器后,异常消失,但现在实例化侦听器类时出现一个
错误:com.sun.faces.config.ConfigureListener
,没有任何堆栈跟踪。stacktrace的吞咽似乎是一只温斯顿虫子,它在里面。试一试,它现在应该显示问题的真正原因
更新2根据问题更新,真正的原因似乎是
org.slf4j.loggerFactory
上的NoClassDefFoundError
。然而,Mojarra并未以任何方式使用此功能。stacktrace还指示这是在加载任何侦听器之前发生的。换句话说,这可能是一个不同的问题,与温斯顿有关。显然温斯顿自己也需要那个图书馆。将它添加到Winstone的运行时类路径,而不是/WEB-INF/lib
谢谢你,Balusc,但是现在它说:[Winstone 2011/12/09 16:29:01]-实例化侦听器类时出错:com.sun.faces.config.ConfigureListener
。:/那根本原因是什么?你用的是Mojarra还是MyFaces?我想当然地认为莫哈拉…好吧,告诉我根本原因。此消息只是一条非正式消息,告诉您在创建侦听器期间发生了异常。您需要查找此异常并说明它。顺便问一下,删除
怎么样?理论上,这可能是可行的。我不知道,每当我尝试启动包含JSF的xhtml时。我甚至无法使用DataTables.war示例部署您的。同样的问题。。。第一个页面是可以的,但是如果我使用JSF选择下一个页面,问题就出现了。如果我删除它,在使用JSF开始第一个页面之前,一切都很好:)