Spring-Boot 静态资源处理的小坑
Spring Boot 默认配置的/**映射到/static(或/public ,/resources,/META-INF/resources),/webjars/**会映射到classpath:/META-INF/resources/webjars/。
部署时候,静态资源可以放在jar旁边.就能用,而且可以随时修改.
但是这里有个坑,打包jar的时候,项目根目录里要有static这个文件夹,才能正常.如果打包时没static,打包完了后加上,是不行的,返回404.
例子:

打包时候static在就好,空的都行.里面的文件部署之后都可以修改,新增,删除,还是挺方便的.
/src/main/resources/static 这也可以放static,会被打包进jar,不能修改.
/static 不会打包进jar 并且可以覆盖上面的.
静态资源配置源码:https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ResourceProperties.java
package org.springframework.boot.autoconfigure.web; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false) public class ResourceProperties { private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/" };
......
---------------------------------------------------------------------------------------------------------------------------
2017-10-25 20:47:10 配置文件也是可以放在jar包外面的,也能起作用。(application.properties 或者 application.yml)

浙公网安备 33010602011771号