Pergunta/problema

Pode ser necessário alterar o diretório inicial do repositório do CRX, especialmente ao implementar o CRX em um servidor de aplicativos de terceiros, como o WebSphere.

Resposta/resolução

Por padrão, o CRX será instalado em uma pasta chamada crx-quickstart localizada na pasta raiz da JVM. Para alterar a pasta de instalação crx-quickstart padrão, siga estas etapas. Neste exemplo, a pasta de instalação padrão será prefixada com my_custom_path:

  • extraia o crx-xxx-quickstart.jar padrão com "java -jar crx-xxx-quickstart.jar" para um local temporário
  • navegue até crx-quickstart/server/webapps
  • descompacte crx-explorer_crx.war para crx-explorer_crx
  • edite crx-explorer_crx/WEB-INF/web.xml
    • localize o servlet chamado Repository e ajuste o valor do parâmetro repository-home para my_custom_path/crx-quickstart/repository
    • localize o servlet JCRExplorer e ajuste o valor do parâmetro explorer-home para my_custom_path/crx-quickstart/repository
    • localize o servlet JCRWebdavServer e altere o valor do parâmetro home para my_custom_path/crx-quickstart
  • edite crx-explorer_crx/WEB-INF/log4j.xml
    • adapte o caminho dos arquivos error.log e translation.log e use o prefixo my_custom_path para ambos
  • descompactr crx-launchpad.war para crx-launchpad
  • edite crx-launchpad/WEB-INF/web.xml
    • ajuste o parâmetro sling.home para my_custom_path/crx-quickstart/launchpad

Após reconfigurar os caminhos, simplesmente reempacote os aplicativos Web descompactados anteriormente e implante-os no servidor de aplicativos de sua escolha, primeiro crx-explorer_crx.war e, então, crx-launchpad.war. Depois de implantado, o diretório inicial do repositório estará localizado em <app_server_home>/my_custom_path.

Nota:- pode ocorrer um erro de permissão do arquivo de E/S, como [1], para garantir que o usuário do aplicativo runas tenha privilégios de gravação para o pai do sling.home.

[1]  java.io.FileNotFoundException: my_custom_path/../system.id (Permissão negada)

Aplica-se a

CRX1.4.2 e CRX2.x