Criação de um pacote de extensões para uma biblioteca de terceiros.

Pergunta

Como carregar uma biblioteca de terceiros que não é um pacote OSGi.

Resposta

Uma opção para carregar uma biblioteca de terceiros que não seja um pacote OSGi é criar um pacote de extensão/fragmento.

Isso pode ser feito a partir da linha de comando da seguinte maneira. Digamos que temos um 3rdparty.jar que contém pacotes em com.3rdparty.libs que precisam ser exportados.

  • Inclua o jar no caminho de classe compartilhado do seu servidor de aplicativos, por exemplo, crx-quickstart/server/lib/container em CQSE.
  • Crie um arquivo de manifesto. Para este exemplo, vamos chamá-lo ext.mf. O arquivo tem o seguinte conteúdo:
    Bundle-ManifestVersion: 2 Bundle-SymbolicName: com.3rdparty.extension Bundle-Version: 1.0 Fragment-Host: system.bundle; extension:=framework Bundle-Name: H2 JDBC Driver Extension Bundle-Description: Bundle exporting com.3rdparty.libs Export-Package: com.3rdparty.libs 
    Observe que a linha em branco no final de um arquivo de manifesto jar é necessária. Além disso, todos os pacotes a serem exportados devem ser explicitamente adicionados ao Pacote de exportação como uma lista separada por vírgulas
  • Crie um arquivo jar com o manifesto acima usando o seguinte comando.
    jar -cfm com.3rdparty.extension-1.0.jar ext.mf 
  • Instale com.3rdparty.extension-1.0.jar usando o Felix Console ou coloque-o na pasta de instalação do seu aplicativo CQ. Isso deve adicionar o pacote org.h2 à lista de exportação do Pacote do Sistema.
  • Por favor, consulte a seção 3.15, Pacotes de extensão, da Plataforma de Serviço Principal OSGi para obter mais informações sobre Pacotes de extensão.

 Adobe

Receba ajuda com mais rapidez e facilidade

Novo usuário?