Pergunta

Eu criei um projeto de postigo esqueleto usando

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

Toda a configuração/importação do novo projeto com Maven/Intellij funcionou bem. Comecei a adicionar um arquivo CSS básico à minha página inicial, de acordo com a seguinte maneira recomendada de fazê -lo no wicket 1.4

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

O arquivo main.css foi colocado ao longo do lateral BasePage.java e BasePage.html in/src/main/java. Eu inicio o aplicativo com start.java. O problema é quando faço alterações no arquivo CSS, ele não está sendo retirado quando relanço Start.java. (Alterações nos arquivos Java e HTML estão sendo atualizados quando eu os troco)

Eu certifiquei -me de que o cache do navegador estivesse sendo limpo e até valorizei a solicitação/resposta em Firfox/Firebug. Parece que em algum lugar entre a magia do wicket e a instância do jetty Start.java cria o arquivo CSS está sendo armazenado em cache e não é atualizado. Alguma ideia?

Foi útil?

Solução

Eu movi os arquivos CSS para o diretório /webapp e isso parecia resolver o problema de iniciar.java para registrar as alterações. Estou fazendo o mesmo com arquivos e imagens JS. Estranhamente, eu li (em vários sites) pessoas que fazem isso de maneiras diferentes (embora o consenso para as classes HTML e Java seja sempre para tê -las no mesmo lugar).

Outras dicas

Encontro uma outra solução que me ajude. Você pode configurar o wicket para adicionar um registro de data e hora à solicitação de um recurso para resolver o problema do cache. No método init da sua classe Application Call SetAddlastModifiedTimEToresourceReferenceUrl das configurações de 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-has-changed.-shaad-setaddlastmodifiedtimeToresourceReferenceUrl%28True%29-BE-A-DOFAULT-- TD14886538.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top