嵌入式jetty不读取IntegrationTest的web-fragment.xml

时间:2015-11-05 13:20:22

标签: java gradle jetty war web-fragment

我有一个jar文件,其中包含ServletsFiltersweb-fragment.xml文件夹中定义的META-INF文件。我在第二次战争项目中包括这个罐子。 war项目的web.xml包含metadata-complete=false,我正在使用gradle来构建项目。

如果我将战争部署到独立的servlet容器Jetty或Tomcat,它会正确地找到web-fragment.xml并正确加载网页。但是当我自己进行Jetty设置进行集成测试时,这种情况就不会发生了。

我使用的Jetty API如下所示,

            _server = new Server(8080);
            _server.setStopAtShutdown(true);

            WebAppContext webAppContext = new WebAppContext();
            webAppContext.setContextPath("/");
            webAppContext.setParentLoaderPriority(true);
            webAppContext.setResourceBase("src/main/webapp");

            _server.setHandler(webAppContext);
            _server.start();

默认情况下,WebAppContext类使用以下配置,我可以看到FragmentConfiguration

public static final String[] DEFAULT_CONFIGURATION_CLASSES =
    {
        "org.eclipse.jetty.webapp.WebInfConfiguration",
        "org.eclipse.jetty.webapp.WebXmlConfiguration",
        "org.eclipse.jetty.webapp.MetaInfConfiguration",
        "org.eclipse.jetty.webapp.FragmentConfiguration",
        "org.eclipse.jetty.webapp.JettyWebXmlConfiguration"
    } ;

为什么我自己使用Jetty API时无法正常工作,我是否在这里或其他地方缺少任何类路径/类加载器相关配置?请帮我找出来。

谢谢。

0 个答案:

没有答案