扩展过滤ClassNotFoundException

时间:2011-01-27 12:07:13

标签: java jsf servlets classnotfoundexception

我想在BalusC's example中实现fileUpload。

不幸的是,我已经很难宣布servlet。

<filter>
    <filter-name>Extensions Filter</filter-name>
    <filter-class>javax.faces.webapp.filter.ExtensionsFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>Extensions Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping> 

我不确定javax.faces.webapp.filter.ExtensionsFilter中是否有扩展名过滤器,但我不使用MyFaces,因此我认为mojarra必须具有相同的过滤器选项。

那是错误吗?如果是这样:mojarra实现中是否有过滤器?

我收到了ClassNotFoundException!


好吧搞乱了类路径。它现在有效,但我得到以下警告。 (在错误日志中讽刺那个德语)

WARNUNG: JSF1029:  Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.aliasbean.AliasBeanTagHandler' von einer Legacy-Facelet-Klasse ab.  Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert.
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent
WARNUNG: JSF1029:  Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.aliasbean.AliasBeansScopeTagHandler' von einer Legacy-Facelet-Klasse ab.  Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert.
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent
WARNUNG: JSF1029:  Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.calendar.HtmlInputCalendarTagHandler' von einer Legacy-Facelet-Klasse ab.  Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert.
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent
WARNUNG: JSF1029:  Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.date.HtmlInputDateTagHandler' von einer Legacy-Facelet-Klasse ab.  Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert.
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent
WARNUNG: JSF1029:  Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.schedule.ScheduleTagHandler' von einer Legacy-Facelet-Klasse ab.  Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert.
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent
WARNUNG: JSF1029:  Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.tabbedpane.HtmlPanelTabbedPaneTagHandler' von einer Legacy-Facelet-Klasse ab.  Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert.
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processComponent
WARNUNG: JSF1029:  Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse 'org.apache.myfaces.custom.tree.taglib.TreeTagHandler' von einer Legacy-Facelet-Klasse ab.  Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert.
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processHandlerClass
WARNUNG: JSF1029:  Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse '[handler-class: null]' von einer Legacy-Facelet-Klasse ab.  Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert.
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processHandlerClass
WARNUNG: JSF1029:  Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse '[handler-class: null]' von einer Legacy-Facelet-Klasse ab.  Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert.
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processHandlerClass
WARNUNG: JSF1029:  Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse '[handler-class: null]' von einer Legacy-Facelet-Klasse ab.  Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert.
27.01.2011 14:40:41 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processHandlerClass
WARNUNG: JSF1029:  Die Anwendung hat Version 2.0 (entweder ausdrücklich durch die Version von /WEB-INF/faces-config.xml oder eine fehlende /WEB-INF/faces-confg.xml), jedoch hängt Klasse '[handler-class: null]' von einer Legacy-Facelet-Klasse ab.  Das von dieser Klasse registrierte Facelet-Artefakt wird nicht registriert.

任何想法可能是什么?


通用翻译:

  

当前应用程序使用版本2.0(显式为/WEB-INF/faces-config.xml或缺少/WEB-INF/faces-confg.xml),但类“XXX”使用旧版Facelet标记库。因此,该课程未注册。

2 个答案:

答案 0 :(得分:2)

你按照他提到的那样添加了所有这些罐子吗?

tomahawk-1.1.6.jar
commons-fileupload-1.2.jar
commons-io-1.4.jar
commons-logging-1.1.1.jar
commons-el.jar

答案 1 :(得分:1)

扩展过滤器不是标准JSF实现的一部分。它是战斧的一部分。为什么要更改过滤器的类名,使其看起来像标准JSF实现的一部分?

使用与文章中相同的内容。

<filter>
    <filter-name>Extensions Filter</filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>Extensions Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

该文章还明确提到它在Mojarra中完美无缺。不要随意改变,因为你认为这是错误的。