添加Jersey配置会禁用寄存器视图控制器

时间:2017-06-02 18:05:07

标签: spring spring-boot spring-jersey

我正在使用springboot 1.5.2而我正在使用jersey和jsf

我有默认视图的映射/,如下所示:

@Bean
    public WebMvcConfigurerAdapter defaultView() {
        return new WebMvcConfigurerAdapter() {
            @Override
            public void addViewControllers(ViewControllerRegistry registry) {
                registry.addViewController("/").setViewName("forward:/faces/public/login.xhtml");
                registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
                super.addViewControllers(registry);
            }
        };
    }

在我添加球衣配置之前,它工作正常,在我添加以下球衣配置后,它停止了工作:

@Configuration
public class JerseyConfig extends ResourceConfig {
    public JerseyConfig() {
        register(MyService.class);
    }
}

当我删除JerSeyConfig类时,映射工作正常,但是当我添加它时,映射停止工作,请告知如何使它们一起工作正常。

1 个答案:

答案 0 :(得分:0)

你可以尝试一下:

  • 使用JerseyConfig而不是@Component@Configuration进行注释,并确保在主要课程中通过@ComponentScan扫描包。

  • 确保Spring MVC调度程序servlet映射到不同于Jersey servlet的路径,例如:

    #Spring MVC调度程序servlet路径。需要与泽西岛不同才能启用/禁用执行器端点访问(/ info,/ health,...)

    server.servlet-path:/

    #Jersey调度程序servlet

    spring.jersey.application-path:/ api

更多细节可以在我的博文中找到:Microservices using Spring Boot, Jersey, Swagger and Docker