如何在undertow java中向swagger添加OAuth2配置

如何在undertow java中向swagger添加OAuth2配置,java,swagger,undertow,Java,Swagger,Undertow,我遵循这份文件 在这个示例中,他们要求添加引导servlet,我的问题是我在中添加了这个引导类 我的引导类 @Override public void init(ServletConfig config) throws ServletException { super.init(config); Info info = new Info() .title("Swagger Petstore")

我遵循这份文件

在这个示例中,他们要求添加引导servlet,我的问题是我在中添加了这个引导类

我的引导类

@Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);



        Info info = new Info()
                .title("Swagger Petstore")
                .description("This is a sample server Petstore server.  You can find out more about Swagger " +
                        "at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, " +
                        "you can use the api key `special-key` to test the authorization filters.")
                .termsOfService("http://swagger.io/terms/")
                .contact(new Contact()
                        .email("apiteam@swagger.io"))
                .license(new License()
                        .name("Apache 2.0")
                        .url("http://www.apache.org/licenses/LICENSE-2.0.html"));

        ServletContext context = config.getServletContext();
        Swagger swagger = new Swagger()
                .info(info);
        swagger.securityDefinition("testauth",
                new OAuth2Definition()
                        .implicit("http://localhost:8002/oauth/dialog")
                        .scope("email", "Access to your email address")
                        .scope("pets", "Access to your pets"));
        swagger.tag(new Tag()
                .name("pet")
                .description("Everything about your Pets")
                .externalDocs(new ExternalDocs("Find out more", "http://swagger.io")));
        swagger.tag(new Tag()
                .name("store")
                .description("Access to Petstore orders"));
        swagger.tag(new Tag()
                .name("user")
                .description("Operations about user")
                .externalDocs(new ExternalDocs("Find out more about our store", "http://swagger.io")));
        context.setAttribute("swagger", swagger);
    }
我的应用程序类

 @ApplicationPath("/")
    public class App extends javax.ws.rs.core.Application {


        public App() {
            this.injector = injector;
            BeanConfig beanConfig = new BeanConfig();
            beanConfig.setVersion("1.0.2");
            beanConfig.setSchemes(new String[] { "http" });
            beanConfig.setHost("localhost:7004");
            beanConfig.setBasePath("test");
            beanConfig.setResourcePackage("com.testpacakge");
            beanConfig.setScan(true);
        }

@Override
    public Set<Class<?>> getClasses() {
        Set<Class<?>> resources = new HashSet<Class<?>>();
        resources.add(Bootstrap.class);
 /// my other resorces
}

@Override
    public Set<Object> getSingletons() {
        final Set<Object> objects = new HashSet<>();

        objects.add(injector.getInstance(Bootstrap.class));
}
        }
我将在中添加引导程序、应用程序和主类

但是这个设置并不是为招摇过市而加载的

有什么办法解决这个问题吗?

添加

.setLoadOnStartup(1)
在Servlet部分,它修复了

deploymentInfoObj.addServlet(Servlets.servlet("Bootstrap", Bootstrap.class)
.addMapping("/Bootstrap").setLoadOnStartup(1));
添加后

.setLoadOnStartup(1)
在Servlet部分,它修复了

deploymentInfoObj.addServlet(Servlets.servlet("Bootstrap", Bootstrap.class)
.addMapping("/Bootstrap").setLoadOnStartup(1));