установить зависимости osgi с помощью плагинов maven bundle и sling

У меня есть osgi-bundle, который создается с помощью maven-bundle-plugin:

<plugin>
  <groupId>org.apache.felix</groupId>
  <artifactId>maven-bundle-plugin</artifactId>
  <configuration>
    <instructions>
      <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
    </instructions>
  </configuration>
</plugin>

Комплект устанавливается через maven-sling-plugin.

У меня есть зависимость fastxml.jackson, которая существует как пакет osgi в моем репозитории .m2 и действует как зависимость в моем проекте.

Как я могу заставить maven развернуть эту зависимость как пакет osgi?

На данный момент мне нужно установить его вручную в моем osgi-контейнере.

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-core</artifactId>
  <version>2.2.2</version>
</dependency>

РЕДАКТИРОВАТЬ:

Упрощение:

Как мне заставить maven понять, что osgi-bundle, который я называю зависимостью в моем pom.xml, должен быть установлен в osgi-контейнере вместе с связками, которые от него зависят?


person recalcitrant    schedule 18.09.2013    source источник


Ответы (1)


Вероятно, вам будет лучше всего упаковать свой пакет как часть вашего приложения вместе с частями /content, /apps вашего приложения в папку /apps/myapp/install, что приведет к установке библиотек в виде пакетов с помощью поставщик установщика jcr.

В этих статьях описано несколько способов автоматизации упаковки / развертывания приложений с помощью maven:

В качестве альтернативы вы можете просто использовать CRXDE для размещения пакетов, а затем CRX Package Manager для тестирования подхода, а позже они перейдут к автоматической упаковке.

Если вы не хотите переупаковывать два пакета OSGI, вы можете использовать плагин sling maven для непосредственной установки пакета jackson.

mvn org.apache.sling:maven-sling-plugin:install-file -Dsling.file=jackson-databind-2.2.2.jar
person diffa    schedule 18.09.2013