Problema
Os pacotes OSGi da nossa aplicação incluídos no nosso pacote de conteúdo CQ5 sob /apps/<appname>/ install
nem sempre são instalado quando instalamos o pacote?
Causa
Esse problema é devido aos critérios usados pelo módulo jcrinstall do Apache Sling ao decidir se um pacote deve ser atualizado ou não.
- Para mais informações sobre jcrinstall consulte aqui
Solução
Para resolver este problema para que toda vez que você instalar o pacote, o jsp será reinstalado (através do módulo jcrinstall do Sling):
- Adicione a seguinte regra de filtro no início de seu
filter.xml
emMETA-INF/vault/filter.xml
:<workspaceFilter version="1.0">
<filter root="/apps/<appname>">
<include pattern="/apps/<appname>(/.*)?" />
<exclude pattern="/apps/<appname>/install(/.*)?" />
</filter>
...
Esse filtro fará com que os pacotes antigos sejam excluídos e as substituições sejam instaladas.
Observação: <appname> no código acima deve ser substituído pelo nome do seu aplicativo.
Aplica-se a
CQ 5.3
Reference
1 http://sling.apache.org/site/jcr-installer-jcrjcrinstall-and-osgiinstaller.html
Não aplique esta solução alternativa para as instalações do CQ5.4, pois isso causará mais problemas. Se você estiver enfrentando esse problema no CQ5.4, envie um ticket DayCare.