Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Servlets java.lang.IllegalArgumentException:筛选器映射指定未知的筛选器名称<;过滤名称_Servlets_Mapping_Servlet Filters_Illegalargumentexception - Fatal编程技术网

Servlets java.lang.IllegalArgumentException:筛选器映射指定未知的筛选器名称<;过滤名称

Servlets java.lang.IllegalArgumentException:筛选器映射指定未知的筛选器名称<;过滤名称,servlets,mapping,servlet-filters,illegalargumentexception,Servlets,Mapping,Servlet Filters,Illegalargumentexception,我得到以下异常 Caused by: java.lang.IllegalArgumentException: Filter mapping specifies an unknown filter name MyFilter at org.apache.catalina.core.StandardContext.validateFilterMap(StandardContext.java:3174) at org.apache.catalina.core.StandardConte

我得到以下异常

Caused by: java.lang.IllegalArgumentException: Filter mapping specifies an unknown filter name MyFilter
    at org.apache.catalina.core.StandardContext.validateFilterMap(StandardContext.java:3174)
    at org.apache.catalina.core.StandardContext.addFilterMap(StandardContext.java:3139)
    at org.apache.catalina.deploy.WebXml.configureContext(WebXml.java:1343)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1362)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:889)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:386)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5472)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
    ... 10 more
过滤器存在于jar文件中,该文件是已交付war的一部分

@WebFilter(filterName="MyFilter",
        urlPatterns = {"/page/*"})
public class myFilter implements Filter {
有人能告诉我要怎么做才能找到过滤器吗


这不是问题的重复,因为它是一个非常不同的错误消息

,换句话说,
@WebFilter
无法识别。当您在
web.xml
元素中有
metadata complete=“true”
属性时,可能会发生这种情况。这基本上意味着容器假定
web.xml
本身元数据是完整的,因此它不会扫描
/web-INF/lib
中提供的jar中的元数据(注释)

你有几个选择

  • 设置
    metadata complete=“false”
  • 完全删除
    元数据
    。默认值已经是
    false
  • 通过
    显式注册过滤器

  • 另一个可能的原因是Tomcat中的一个bug,该bug已在7.0.28中修复。另请参见此相关问题:。

    换句话说,
    @WebFilter
    无法识别。当您在
    web.xml
    元素中有
    metadata complete=“true”
    属性时,可能会发生这种情况。这基本上意味着容器假定
    web.xml
    本身元数据是完整的,因此它不会扫描
    /web-INF/lib
    中提供的jar中的元数据(注释)

    你有几个选择

  • 设置
    metadata complete=“false”
  • 完全删除
    元数据
    。默认值已经是
    false
  • 通过
    显式注册过滤器

  • 另一个可能的原因是Tomcat中的一个bug,该bug已在7.0.28中修复。另请参见此相关问题:。

    @BalusC Yes我有元数据完整属性。Tomcat版本是ApacheTomcat/7.0.68@Anonymous的可能副本为什么这应该是一个副本。一切都不一样,错误消息也不一样。顺便说一句,谢谢你的帮助downvoting@Downvoter:谢谢你一次又一次没有解释地投了反对票。这是非常重要的helpfull@BalusC是的,我有元数据完整属性。Tomcat版本是ApacheTomcat/7.0.68@Anonymous的可能副本为什么这应该是一个副本。一切都不一样,错误消息也不一样。顺便说一句,谢谢你的帮助downvoting@Downvoter:谢谢你一次又一次没有解释地投了反对票。这很有帮助