java - JSF 1.2、Richfaces 3.X 和 Jboss 服务器 5.0 : After Adding Richfaces JAR it's giving Error

标签 java richfaces jboss5.x jsf-1.2

简单的 JSF1.2 和 Jboss Server 5.0 工作正常,但添加 Richfaces 3.X JAR 后出现错误。我的应用程序无法运行。

Richfaces jar

  • richfaces-api-3.3.2.SR1.jar
  • richfaces-impl-3.3.2.SR1.jar
  • richfaces-ui-3.3.2.SR1.jar

请检查下面的错误日志并请帮忙解决。

java.lang.ClassNotFoundException: org.ajax4jsf.Filter
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at org.jboss.web.tomcat.service.TomcatInjectionContainer.newInstance(TomcatInjectionContainer.java:240)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:220)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:332)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:90)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3783)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4413)
    at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:367)
    at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:146)
    at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:460)
    at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)
    at org.jboss.web.deployers.WebModule.start(WebModule.java:96)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
    at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)
    at $Proxy36.start(Unknown Source)

包含包结构和 web.xml 的屏幕截图

enter image description here

请帮我解决这个问题..

最佳答案

  1. 默认情况下,JBoss 5.0 在以下位置包含 JSF 库:jboss-5.0.0.GA\server\default\deploy\jbossweb.sar\jsf-libs。 如果实现需要,您必须在此位置明确提供 JSF 2.0。

    • jboss-faces.jar
    • jsf-api.jar
    • jsf-impl.jar
  2. 此外,您必须在项目部署期间提供所需的 JSF 实现特定的 jar。下面是\WEB-INF\lib内容。

    • cssparser-0.9.5.jar
    • Guava -13.0.1.jar
    • richfaces-components-api-4.3.2.Final.jar
    • richfaces-components-ui-4.3.2.CR1.jar
    • richfaces-core-api-4.3.2.Final.jar
    • richfaces-core-impl-4.3.2.Final.jar
    • sac-1.3.jar
  3. 更改 web.xml 内容中的命名空间声明架构位置

    <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">

    此外,删除过滤器/过滤器映射并添加以下内容。

      <context-param>
        <description>State saving method: 'client' or 'server' (=default). See JSF         Specification 2.5.2</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>
    
      <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
      </listener>
    

[注意:我已经使用 RichFaces 4.3.2、JBoss 5.0 和 JSF 2.0 进行了验证。我认为它应该适用于较低的配置]

关于java - JSF 1.2、Richfaces 3.X 和 Jboss 服务器 5.0 : After Adding Richfaces JAR it's giving Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17123210/

相关文章:

java - connectionTimeout 和 keepAliveTimeout 之间的 Tomcat 连接器关系

jsf - 禁用 ="#{not recordsTransferSearch.isDisabled}"未调用 isDisabled() 方法

exception - 事务被回滚,当执行大量查询时(JBoss 5.1)

Java contains() 与 equals() 不符

java - Akka 中的单元测试持久性参与者

java - 在 JSF(Richfaces) 提交上按下后退按钮时网页过期

CSS3 选择器在 FF 和 Opera 中不起作用?

java - 异步日志

java - 修复 key=javax.servlet.http.HttpServletResponse 的 No PolicyContextHandler 异常

java - 如何让输入对话框连续接受两个值