Как включить банку зависимости в комплект OSGi с помощью подключаемого модуля Maven?
У меня есть OSGi-совместимый пакет (jar), в который я хочу добавить jar зависимости. Я хочу добавить зависимость от драйвера базы данных. Этот jar отсутствует в папке lib контейнера Karaf, который я использую, и нет способа добавить его туда вручную. У меня есть доступ только к папке развертывания, где я могу развернуть свои пакеты. Я использую плагин maven bundle для упаковки пакета. Итак, я хотел знать, есть ли способ добавить банку зависимостей в мой комплект. В настоящее время я добавляю банку вручную в пакет, открыв пакет в 7zip и добавив банку, скопировав ее в банку, и она работает нормально. Я пытался использовать<embed-dependency>
тег, но после этого пакет не будет развернут. ЕстьЛюбые способ сделать это?
Ниже приводится зависимость вpom.xml
который я хочу добавить в комплект:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.158</version>
</dependency>
Ниже приведен тег сборки вpom.xml
:
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Export-Package>
com.ct.service.userService.*,
org.h2.*
</Export-Package>
<Import-Package>
*,
org.codehaus.jackson.jaxrs
</Import-Package>
<Embed-Dependency>h2</Embed-Dependency>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
Я получаю следующую ошибку при попытке развернуть его:
ERROR: Bundle com.ge.dsp.userService [205] Error starting file:D:Karaf/deploy/userService-0.0.1-SNAPSHOT.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle com.ge.dsp.userService [205]: Unable to resolve 205.2: missing requirement [205.2] osgi.wiring.package; (osgi.wiring.package=org.apache.lucene.analysis))
org.osgi.framework.BundleException: Unresolved constraint in bundle com.ct.service.userService [205]: Unable to resolve 205.2: missing requirement [205.2] osgi.wiring.package; (osgi.wiring.package=org.apache.lucene.analysis)
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1191)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:295)
at java.lang.Thread.run(Thread.java:662)