Конфигурирование для RichFaces: java.lang.ClassNotFoundException: org.ajax4jsf.Filter - PullRequest
4 голосов
/ 09 декабря 2011

У меня есть проект, который содержит некоторые компоненты RichFaces.Все другие компоненты отображаются, кроме RichFaces.

Из журналов сервера я получаю:

java.lang.ClassNotFoundException: org.ajax4jsf.Filter

Я знаю, что с RichFaces 4.0 нетв Web.xml нужны фильтры.

Вот моя библиотека :

  1. commons-beanutils-1.7.0.jar
  2. commons-collection-3.2.jar
  3. commons-digester-1.8.jar
  4. commons-digester.jar
  5. commons-discovery.jar
  6. commons-logging-1.0.4.jar
  7. cssparser-0.9.5.jar
  8. guava-r08.jar
  9. jhighlight-1.0.jar
  10. jsf-api.jar
  11. jsf-facelets.jar
  12. jsf-impl.jar
  13. richfaces-components-api-4.0.0.Final.jar
  14. richfaces-components-ui-4.0.0.Final.jar
  15. richfaces-core-api-4.0.0.Final.jar
  16. richfaces-core-impl-4.0.0.Final.jar
  17. sac-1.3.jar

и этот мой web.xml

<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>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.faces</url-pattern>
</servlet-mapping>

Я использую сервер GlassFish 3.1.1

Я пробовал дифНесколько конфигураций, также попытался включить ajax4jsf.jar.Но всегда заканчивалось одной и той же ошибкой.Любая помощь приветствуется.

полный журнал сервера показан здесь:

0500|SEVERE|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=10;_ThreadName=Thread-2;|WebModule[/HelloWorld_war_exploded]PWC1270: Exception starting filter richfaces
java.lang.InstantiationException
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:124)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4685)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:5377)
    at com.sun.enterprise.web.WebModule.start(WebModule.java:498)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:733)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2000)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1651)
    at com.sun.enterprise.web.WebApplication.start(WebApplication.java:109)
    at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:462)
    at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:375)
    at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:219)
    at com.sun.hk2.component.AbstractCreatorImpl.inject(AbstractCreatorImpl.java:131)
    at com.sun.hk2.component.ConstructorCreator.initialize(ConstructorCreator.java:91)
    at com.sun.hk2.component.AbstractCreatorImpl.get(AbstractCreatorImpl.java:82)
    at com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:67)
    at com.sun.hk2.component.EventPublishingInhabitant.get(EventPublishingInhabitant.java:139)
    at com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:76)
    at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:253)
    at com.sun.enterprise.v3.server.AppServerStartup.doStart(AppServerStartup.java:145)
    at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:136)
    at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.start(GlassFishImpl.java:79)
    at com.sun.enterprise.glassfish.bootstrap.GlassFishDecorator.start(GlassFishDecorator.java:63)
    at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishImpl.start(OSGiGlassFishImpl.java:69)
    at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:117)
    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 com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
    at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:55)
Caused by: java.lang.ClassNotFoundException: org.ajax4jsf.Filter
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1519)

1 Ответ

7 голосов
/ 09 декабря 2011

Удалите jsf*.jar из ваших библиотек.Библиотеки JSF 2.x уже предоставлены Glassfish3.Кроме того, jsf-facelets.jar имеет Facelets 1.x для JSF 1.x.В библиотеках JSF 2.x уже есть Facelets 2.x.

Что касается исключения, просто удалите <filter> из org.ajax4jsf.Filter из web.xml.Это из RichFaces 3.x и больше не нужно в RichFaces 4.x.Убедитесь, что вы читаете документацию для разработчиков для RichFaces 4.x и , а не RichFaces 3.x .

...