Pregunta

Tengo crear un proyecto Wicket esqueleto utilizando

mvn archetype:create -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.4-rc4 -DgroupId=com.mycompany -DartifactId=myproject

Toda la configuración / importación nuevo proyecto con Maven / IntelliJ funcionaba bien. Procedí a añadir un archivo básico de CSS a mi página de inicio, por la siguiente forma recomendada de hacerlo en Wicket 1.4

public class BasePage extends WebPage {
    public BasePage() {
        add(CSSPackageResource.getHeaderContribution(BasePage.class, "main.css"));
    }
}

El archivo main.css se ha puesto a lo largo de BasePage.java lado y en BasePage.html / src / main / java. Me inicie la aplicación con Start.java. El problema es cuando hago cambios en el archivo CSS que no está siendo recogido cuando relanzamiento Start.java. (Los cambios en los archivos de Java y HTML se actualizan cuando las cambio)

Me aseguré se está borrando la memoria caché del navegador, e incluso valided la petición / respuesta en Firfox / Firebug. Parece que en algún lugar entre la magia de Wicket y la instancia embarcadero Start.java crea el archivo CSS se almacena en caché y no se actualiza. ¿Alguna idea?

¿Fue útil?

Solución

Me moví los archivos CSS en el directorio / webapp y que parecía para resolver el problema de conseguir Start.java para registrar los cambios. Estoy haciendo lo mismo para los archivos js e imágenes. Curiosamente, he leído (en varios sitios) la gente que hace esto en diferentes formas (Aunque el consenso para las clases de HTML y Java es siempre tener ellos el mismo lugar).

Otros consejos

Me parece una otra solución que me ayuda. Puede configurar Wicket añadir una marca de tiempo a la solicitud de un recurso para resolver el problema de almacenamiento en caché. En el método init de la aplicación llamada clase setAddLastModifiedTimeToResourceReferenceUrl de la configuración Recource.

public class MyApplication extends WebApplication {
    @Override
    protected void init() {
        getResourceSettings().setAddLastModifiedTimeToResourceReferenceUrl(true);
    }
}

Original: http://old.nabble.com/Javascript-CSS-being-cached-by-the-browser-even-when-it % -ha-changed.-Should-setAddLastModifiedTimeToResourceReferenceUrl 28true% 29-ser-la-default - td14886538.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top