Pergunta
Como faço para incluir pacotes no meu pacote CRX ou instalá-los, soltando-os no repositório JCR via webdav?
Resposta, Resolução
É possível instalar pacotes OSGi através de pacotes CRX ou soltando-os no repositório CRX via webdav. Isso pode ser feito incluindo o pacote em uma pasta chamada install no diretório do aplicativo.
Por exemplo, com um aplicativo "testapp" e um pacote a ser instalado chamado testappbundle-1.0.jar, basta soltar o pacote na seguinte pasta /apps/testapp/install/testappbundle-1.0.jar
.
Veja informações detalhadas sobre isso aqui [1].
Inclusão em um pacote CRX
Para incluir um pacote OSGi em um pacote CRX, faça o seguinte:
- Faça o login no webdav (veja aqui [2] como se conectar ao webdav do CRX)
- Por meio do webdav, crie uma pasta install em seu aplicativo e copie o pacote na nova pasta
/apps /<appname>/install/
- Faça o logon no aplicativo da Web do CRX (http://host:port/crx) como administrador
- Vá para o "Gerenciador de pacotes" do CRX e crie um pacote ou modifique o pacote de código do aplicativo existente
- Sob a definição do caminho
/apps/<appname>
, defina as seguintes regras de inclusão e exclusão
include pattern="/apps/<appname>(/.*)?"
exclude pattern="/apps/<appname>/install(/.*)?"
Nota: essas regras asseguram que o pacote será reinstalado após cada reinstalação do pacote. Veja mais informações sobre essa questão aqui [3]
Aplica-se a
CQ5.X
Referências
[1] http://sling.apache.org/site/jcr-installer-jcrjcrinstall-and-osgiinstaller.html
[2] http://dev.day.com/docs/en/crx/current/developing/accessing_the_crx.html#WebDAV Access
[3] Bundle fails to install