如何为WebApplicationInitializer类禁用Servlet类路径扫描,但仍然明确地使用我自己的实例?

时间:2016-04-29 21:51:32

标签: java tomcat servlets web.xml servlet-3.0

根据这个问题

How to disable Servlet 3.0 scanning and auto loading of components

我通过在我的web.xml metadata-complete="false"元素中设置<web-app>以及在<absolute-ordering/>标记中添加标记<web-app>来禁用WebApplicationInitializer类的类路径扫描。

现在没有运行WebApplicationInitializer的实例,看起来WebApplicationInitializer是以编程方式添加servlet / filters / listeners而不是web.xml的唯一方法。

我想禁用所有WebApplicationInitializer类,除了我自己的类,它将有一堆条目。我该如何配置?

仅供参考我尝试像这样添加<absolute-ordering>

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         metadata-complete="false">
    <absolute-ordering>
        <name>com.company.project.MySuperSpecialWebAppInitializer</name>
    </absolute-ordering>

但它没有运行我的WebApplicationInitializer类。

1 个答案:

答案 0 :(得分:0)

元数据不完整=“是”,而不是“假”吗?