Spring Boot Webjars未生成,HTTP 406返回

时间:2018-08-15 02:09:12

标签: java spring-boot webjars spring-boot-configuration

出于某种原因,引导程序Webjar未被复制到目标中,因此无法找到它们。

pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.4.RELEASE</version>
</parent>

...

<dependency>
        <groupId>org.webjars</groupId>
        <artifactId>bootstrap</artifactId>
        <version>4.1.3</version>
</dependency>

资源处理程序:

@Configuration
@EnableWebMvc
public class WebConfiguration implements WebMvcConfigurer {

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**").addResourceLocations("/WEB-INF/resources/*");
    registry.addResourceHandler("/resources/").addResourceLocations("/resources/");
    registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}

静态resources中的某处

...
<script src="webjars/bootstrap/4.1.3/js/bootstrap.min.js"></script>
...

enter image description here

/target中未生成任何内容 知道我想念什么吗? 我花了几个小时在此上,还到达了Google搜索的第二页。

1 个答案:

答案 0 :(得分:2)

我会回答我自己的问题。

我永远不会说这可能是一个问题,但是显然@GetMapping注释破坏了我的UI。我仍然不知道是什么问题。我刚刚找到解决方法。

所以我用Thymelea f来解决我的观点

@Controller
public class ViewController {

    @GetMapping("/")
    public String home() {
        return "/home";
    }
}

显然,当我使用传统的Restful控制器时,它会发生冲突

@RestController(value = "/face-detection")
public class FaceDetectController {

@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE) {
...

这个@GetMapping破坏了整个UI。 我要做的只是在映射

中添加/
@GetMapping(value ="/", produces = MediaType.APPLICATION_JSON_VALUE)

整个过程开始神奇地起作用。 github深处的类似问题: https://github.com/springfox/springfox/issues/1647