Jak OSGIfy biblioteki

Pracuję nad projektem, który jest projektem integracyjnym, używamy Apache Camel i Apache Karaf. W projekcie muszę użyćBiblioteka klienta JEST REST Java.

Przeczytałem więc sporo różnych artykułów i wątków na temat zawijania biblioteki nie-OSGI do pakietu OSGI, ale naprawdę nie jestem pewien, czy dobrze to zrobiłem.

Stworzyłem więc plik POM z zależnością od potrzebnej biblioteki. Zrobiłem pakiet i próbowałem go wdrożyć, oczywiście, Karafowi, Karaf skarżył się na brakujące pakiety.

Więc znalazłem odpowiednią zależność maven, dodałem ją, pakiet trafia<Import-Package> i zależność w<Embed-Dependency>.

Kolejna runda, wdrożenie, znalezienie zależności, dodanie ... i jeszcze raz, aż Karaf będzie w porządku z pakietem.

Czy to naprawdę prawda? Wydaje mi się to całkiem szalone, więc chyba nie mam tego jak zwykle :)

W końcu pakiet dotarł do stabilnego, który był na moim komputerze roboczym, sprawdziłem go szybko i poszedłem do domu, tam kontynuowałem, ale dziwny, ten sam POM / pakiet skompilowany na moim komputerze osobistym nie działa, ponownie narzekając na brakujący pakiet, ale tym razem ten pakiet jest na pewno w pliku POM i na pewno jest osadzony w pakiecie, widzę go tam.

Ten brakujący pakiet jest tym razem org.apache.commons.codec.

org.osgi.framework.BundleException: Unresolved constraint in bundle jiraclient.bundle [134]: Unable to     resolve 134.0: missing requirement [134.0] osgi.wiring.package; (osgi.wiring.package=org.apache.commons.codec)
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)[org.apache.felix.framework-4.0.3.jar:]
    at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)[org.apache.felix.framework-4.0.3.jar:]
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:944)[org.apache.felix.framework-4.0.3.jar:]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1247)[6:org.apache.felix.fileinstall:3.2.6]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1219)[6:org.apache.felix.fileinstall:3.2.6]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1208)[6:org.apache.felix.fileinstall:3.2.6]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:503)[6:org.apache.felix.fileinstall:3.2.6]
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)[6:org.apache.felix.fileinstall:3.2.6]

Więc teraz jestem całkowicie zmieszany, co jest nie tak :(

Bardzo proszę, chłopaki, pomóżcie mi. Dzięki!

Plik POM jest długi, więc myślę, że link jest lepszy:http://pastebin.com/j5cmWveG

questionAnswers(1)

yourAnswerToTheQuestion