Spring boot Spring boot在包含Jersey REST时不提供静态内容
我在尝试从spring启动应用程序提供index.html(位于main/resources/static下)时遇到HTTP 404错误。但是,如果我从项目中删除基于Jersey的JAX-RS类,那么就可以了 以下是主要课程Spring boot Spring boot在包含Jersey REST时不提供静态内容,spring-boot,jersey,jersey-2.0,Spring Boot,Jersey,Jersey 2.0,我在尝试从spring启动应用程序提供index.html(位于main/resources/static下)时遇到HTTP 404错误。但是,如果我从项目中删除基于Jersey的JAX-RS类,那么就可以了 以下是主要课程 @SpringBootApplication public class BootWebApplication { public static void main(String[] args) { SpringApplication.run(Boot
@SpringBootApplication
public class BootWebApplication {
public static void main(String[] args) {
SpringApplication.run(BootWebApplication.class, args);
}
}
我不确定我是否遗漏了什么
谢谢问题在于Jersey servlet路径的默认设置,默认为
/*
。这会占用所有请求,包括对静态内容的默认servlet的请求。因此,请求将前往Jersey查找静态内容,当它在Jersey应用程序中找不到资源时,它将发送404
围绕这一点,您有两个选择:
ServletProperties
,以将404转发到servlet容器。您可以使用配置Jersey的属性转发导致找不到Jersey资源的所有请求,也可以使用允许您配置用于转发请求的正则表达式模式的属性@ApplicationPath(“/root path”)
注释ResourceConfig
子类。或者您可以在应用程序.properties
-spring.jersey.applicationPath
中配置它@Emoleumasi能否请您详细说明兼容性问题?“我们(春靴队)还不知道有什么。@Andy Wilkinson我在春靴和球衣方面已经有过不好的经验。查看我的帖子了解更多解释:和