Spring-Boot Jersey:允许Jersey提供静态内容

该应用程序使用JDK 8,Spring Boot和Spring Boot Jersey启动程序,并打包为WAR(尽管它是通过Spring Boot Maven插件在本地运行的)。


我想做的是获得我在运行中(在构建时)生成的文档作为欢迎页面。


我尝试了几种方法:


通过按照此处所述配置application.properties 适当的init参数,让Jersey提供静态内容

引入metadata-complete=false web.xml以便将生成的HTML文档列出为欢迎文件。

这些都没有解决。


我想避免不得不启用Spring MVC或创建仅用于提供静态文件的Jersey资源。


任何想法?


这是Jersey的配置类(我尝试在那添加一个失败ServletProperties.FILTER_STATIC_CONTENT_REGEX):


@ApplicationPath("/")

@ExposedApplication

@Component

public class ResourceConfiguration extends ResourceConfig {


   public ResourceConfiguration() {

      packages("xxx.api");

      packages("xxx.config");

      property(ServerProperties.BV_DISABLE_VALIDATE_ON_EXECUTABLE_OVERRIDE_CHECK, true);

      property(ServerProperties.BV_SEND_ERROR_IN_RESPONSE, true);

   }

}

这是Spring Boot应用程序类(我尝试添加application.propertieswith,spring.jersey.init.jersey.config.servlet.filter.staticContentRegex=/.*html但没有用,我不确定在这里应该使用什么属性键):


@SpringBootApplication

@ComponentScan

@Import(DataConfiguration.class)

public class Application extends SpringBootServletInitializer {


    @Override

    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

        return application.sources(Application.class);

    }


    public static void main(String[] args) {

        SpringApplication.run(Application.class, args);

    }

}


天涯尽头无女友
浏览 792回答 3
3回答

慕森卡

以下设置对我有用组spring .jersey.type: filter设置 FILTER_FORWARD_ON_404@Configuration         public class MyResourceConfig extends ResourceConfig  {            public MyResourceConfig () {                try {                    register(XXX.class);                    property(ServletProperties.FILTER_FORWARD_ON_404, true);                } catch (Exception e) {                    LOGGER.error("Exception: ", e);                                   }            }               } 注意:使用@Configuration 而不是@component
打开App,查看更多内容
随时随地看视频慕课网APP