我有一个项目,结构如下(就像spring.io
)。
├── frontend
│ ├── dist
│ | ├── app.js
│ | ├── vendor.js
│ | ├── style.css
│ | ├── index.html
│ ├── node_modules
│ ├── src
│ ├── package.json
│ ├── pom.xml
├── site
│ ├── src
│ ├── pom.xml
frontend
是一个NodeJS项目,site
是一个Spring Boot项目。
frontend/dist
中的所有文件(包括html)都是由webpack自动生成的。为了从Spring Boot应用中访问它们,我配置了开发配置文件。
application.yaml
spring:
profiles: development
resources:
static-locations:
- file:../frontend/dist/
所有的工作都很正常。但是当我把spring-boot-devtools
添加到网站项目的classpath中时,dist文件夹中的任何文件都得到404。
http://localhost:8080/ -> 404
http://localhost:8080/app.js -> 404
同样,没有devtools–没有问题。
另外,如果我用addResourceHandlers代替static-locations,它也能工作(不管有没有devtools)。
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("file:/full/path/to/frontend/dist/");
}
这是devtools的错误还是我的错?
StackOverflow:java - spring.resources.static-locations not working with devtools - Stack Overflow