Создать xml с зависимостями объектов с помощью плагина maven
Я использую maven-feature-plugin
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>features-maven-plugin</artifactId>
<version>2.3.6</version>
<executions>
<execution>
<id>generate</id>
<phase>generate-resources</phase>
<goals>
<goal>generate-features-xml</goal>
</goals>
<configuration>
<bundles>src/main/resources/bundle.properties</bundles>
<kernelVersion>2.3.6</kernelVersion>
<outputFile>target/features.xml</outputFile>
</configuration>
</execution>
</executions>
</plugin>
Это работает довольно хорошо, но одна из моих сгенерированных функций зависит от pax-cdi
есть ли способ получить для меня плагин, чтобы добавить это для меня? Например, у меня есть некоторые зависимости, определенные в bundle.properties
файл, который не может быть разрешен автоматически, могу ли я добавить функцию в этот файл?
2 ответа
Вы можете добавить функцию как зависимость maven в вашем pom:
<dependency>
<groupId>org.ops4j.pax.cdi</groupId>
<artifactId>pax-cdi-features</artifactId>
<version>0.8.0</version>
<classifier>features</classifier>
<type>xml</type>
</dependency>
В результате получится файл feature.xml, содержащий функции pax-cdi (при условии, что karaf-maven-plugin настроен с <aggregateFeatures>true</aggregateFeatures>
).
Вы также можете оставить его в контейнере, чтобы включить функцию pax-cdi. Просто отредактируйте $KARAF_HOME/etc/org.apache.karaf.features.cfg, где вы можете подключить ваши pax-cdi-features, добавив URL-адрес maven в список featuresRepositories.
featuresRepositories=....
....,\
mvn:org.ops4j.pax.cdi/pax-cdi-features/0.8.0/xml/features
Затем добавьте pax-cdi в список функций загрузки
featuresBoot=.....,pax-cdi,...
Karaf запустит пакеты pax-cdi при загрузке, чтобы ваши пакеты могли найти доступные пакеты cdi.
Я думаю, что условием karaf является то, что функция pax-cdi должна предоставляться самим контейнером, поэтому вам не нужно добавлять эти пакеты в ваш дескриптор функции. Чтобы использовать функцию pax-cdi в karaf, введите в свою оболочку Karaf следующее
features:addurl mvn:org.ops4j.pax.cdi/pax-cdi-features/0.8.0/xml/features