【发布时间】:2017-03-27 11:43:55
【问题描述】:
Spring Boot 或 Tomcat 在开发环境中缓存我的静态资产 .js 和 .css 文件,我每次都必须构建 -> 构建项目(在 IntelliJ 中)才能获得刷新的版本。
我尝试了这些应用程序属性,但它们不起作用。
spring.resources.cache-period=0
spring.resources.chain.cache=false
spring.resources.chain.html-application-cache=false
spring.resources.chain.strategy.content.enabled=false
spring.resources.chain.strategy.content.paths=/**
我试图用这个 bean 来配置 Tomcat,但效果不佳:
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory tomcatFactory = new TomcatEmbeddedServletContainerFactory() {
@Override
protected void postProcessContext(Context context) {
final int cacheSize = 0;
StandardRoot standardRoot = new StandardRoot(context);
standardRoot.setCachingAllowed(false);
standardRoot.setCacheMaxSize(cacheSize);
context.setResources(standardRoot);
}
};
return tomcatFactory;
}
当更改 js 和 css 文件时,我不想每次都进行 Build Project,我什至可以使用 BrowserSync 之类的东西自动将更改应用到网页,但为此我需要 Tomcat/Spring 来在 dev 中提供静态资源没有我点击构建项目的环境。
该文档并没有真正的帮助,根据该文档,除了每次更改 css 或 js 文件时单击“构建”之外别无他法。 http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-hotswapping
但我相信这应该是一件非常简单且完全可以实现的事情,不是吗。
有什么想法我接下来应该尝试什么?
谢谢
【问题讨论】:
标签: java spring spring-mvc tomcat spring-boot