Hello, Have to agree with Neil, hower I want to add, that the bundling of Quartz here is the problem, it could make some dependencies optional and it could even add some of the dependencies inside the bundle. This is what I did with Quartz, I embedded Quartz and some of its dependencies inside a bundle to greatly remove its external dependencies. You can even overwrite/remove some imports for unused artifacts. Quartz needs this special treatment since its a big ugly blob of goo.
Greetings Bernd -- http://bernd.eckenfels.net -----Original Message----- From: Neil Bartlett <njbartl...@gmail.com> To: users@felix.apache.org Cc: jbono...@apache.org, "d...@felix.apache.org" <d...@felix.apache.org>, users-h...@felix.apache.org Sent: So., 11 Okt. 2015 16:46 Subject: Re: Help in using your Quartz OSGi bundle > On 11 Oct 2015, at 12:20, Pedro Domingues <pedro.doming...@ist.utl.pt> wrote: > > Greetings, > > Sorry for bothering you, but I would like to ask for your help with your > Quartz bundle. > > I am trying to install your Quartz OSGi bundle into my project: > > > > However when I insert the bundle in my Apache Felix I keep getting the > unresolved dependencies error message like you can see here: > > >java -jar bin/felix.jar > ERROR: Bundle hydra.launcher [1] Error starting > file:/C:/code/hydra/felix/bundle/hydra.launcher-1.0.0-SNAPSHOT.jar > (org.osgi.fram > ework.BundleException: Unable to resolve org.apache.servicemix.bundles.quartz > [8](R 8.0): missing requirement [org.apache.servicemix.bundles.quartz [8 > ](R 8.0)] osgi.wiring.package; (osgi.wiring.package=org.jboss.logging) > Unresolved requirements: [[org.apache.servicemix.bundles.quartz [8](R 8.0)] > osg > i.wiring.package; (osgi.wiring.package=org.jboss.logging)]) > org.osgi.framework.BundleException: Unable to resolve > org.apache.servicemix.bundles.quartz [8](R 8.0): missing requirement > [org.apache.servicemix.bund > les.quartz [8](R 8.0)] osgi.wiring.package; > (osgi.wiring.package=org.jboss.logging) Unresolved requirements: > [[org.apache.servicemix.bundles.quartz [8 > ](R 8.0)] osgi.wiring.package; (osgi.wiring.package=org.jboss.logging)] > at > org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4090) > at org.apache.felix.framework.Felix.startBundle(Felix.java:2111) > at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:977) > at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:964) > at hydra.launcher.Launcher.installStart(Launcher.java:78) > > If I try to discard this dependency manually in your bundle's manifest I keep > getting other dependencies such as oracle.sql and so on... It is a true > dependency hell. > > However I do not need to use SQL nor JBOSS, I just want to use Quartz. Is > there any way I can solve this? Do I really need to include the thousand > transitive dependencies manually, which I will probably never use but since > these manifests are automatically generated they include them anyways? > > This is the one thing that makes OSGi hard to use... Thats not exactly fair. OSGi didn't create those dependencies -- they exist in the code. Unfortunately, if a bundle has a large tree of dependencies then you have only two choices. Either use it and suck up the dependencies. Or just don't use it. OSGi is not unique here. In all software development, you have to decide whether to import a module and pay the price of its dependencies, find a better module, or write your own. Neil > > Thanks!