Spring Boot o Tomcat almacena en caché mis archivos .js y .css de activos estáticos en el entorno de desarrollo y tengo que Build -> Build Project (en IntelliJ) cada vez para obtener la versión actualizada.
Probé estas propiedades de la aplicación y no funcionaron.
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=/**Intenté tener este bean para configurar Tomcat y tampoco funcionó:
@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; }Cuando cambio los archivos js y css, no quiero hacer Build Project cada vez, incluso puedo usar algo como BrowserSync para aplicar cambios automáticamente a la página web, pero para eso necesito Tomcat/Spring para servir activos estáticos en el entorno de desarrollo sin mí. haciendo clic en Construir proyecto.
El documento no es realmente útil y, según el documento, no hay otra forma que no sea hacer clic en Generar cada vez que cambie un archivo css o js. http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-hotswapping
Pero creo que esto debería ser algo muy simple y perfectamente alcanzable, ¿no es así?
¿Alguna idea de qué debo probar a continuación?
Gracias
Esto en ningún caché. Sus archivos fuente ( *.js y *.css ) se copian cuando crea el proyecto en una carpeta separada (por ejemplo target ) y desde allí se envían al navegador. El botón Build Project copió estos archivos y luego verá que han cambiado.
Puede habilitar la opción Build project automatically en IntelliJ o usar otra herramienta (por ejemplo, bower ) para copiar archivos después de cambiar.