Java 通过jetty.xml进行Swagger UI配置

Java 通过jetty.xml进行Swagger UI配置,java,xml,servlets,jetty,swagger,Java,Xml,Servlets,Jetty,Swagger,我正在尝试向Jetty上运行的JavaEE项目添加Swagger UI。我有一个编程配置示例,但我很难将其转换为XML,因为我的服务器配置是在jetty.XML文件中定义的 我的问题是resourceBase属性的定义 以下是配置示例: 下面是我当前jetty.xml的相关部分: 我不确定是否有更好的方法,但我相信simples方法虽然不是最灵活的方法,但它是将swagger ui文件复制到webapp目录中,最终复制到api之类的文件夹中。这将使swagger ui无需进一步配置即可立即访问

我正在尝试向Jetty上运行的JavaEE项目添加Swagger UI。我有一个编程配置示例,但我很难将其转换为XML,因为我的服务器配置是在jetty.XML文件中定义的

我的问题是resourceBase属性的定义

以下是配置示例:

下面是我当前jetty.xml的相关部分:


我不确定是否有更好的方法,但我相信simples方法虽然不是最灵活的方法,但它是将swagger ui文件复制到webapp目录中,最终复制到api之类的文件夹中。这将使swagger ui无需进一步配置即可立即访问

ResourceHandler rh = new ResourceHandler();
rh.setResourceBase(InsectopediaServer.class.getClassLoader()
                .getResource("META-INF/resources/webjars/swagger-ui/2.1.4").toURI().toString());
ContextHandler resourceContext = new ContextHandler();
resourceContext.setContextPath("/api/");
resourceContext.setHandler(rh);

ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(new Handler[] { servletContext, resourceContext });

 server.setHandler(contexts);
<Set name="handler">
    <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
        <Set name="handlers">
            <Array type="org.eclipse.jetty.server.Handler">
                <Item>
                    <New class="org.eclipse.jetty.server.handler.ContextHandler">
                          <Set name="contextPath">/api</Set>
                          <Set name="handler">
                              <New class="org.eclipse.jetty.server.handler.ResourceHandler">
                                  <Set name="resourceBase"></Set>
                              </New>
                          </Set>
                    </New>
                  </Item>
                <Item>
                    <New id="Contexts"
                        class="org.eclipse.jetty.server.handler.ContextHandlerCollection" />
                </Item>
                <Item>
                    <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler" />
                </Item>
            </Array>
        </Set>
    </New>
</Set>