As far as I can tell Clojure is a black box to everybody, with the possible exception of Mr Rich Hickey…
Sorry I can’t help further. Neil On 19 August 2014 at 00:36:05, Tim McIver ([email protected]) wrote: I should also mention that I get different errors with this problem bundle depending on how I bring the system up - and this could indicate that it is a Clojure issue. If I start the Felix console and install and start the bundles "by hand", I get the error that I showed before. But if I start the Felix console and the bundles are cached, then Felix automatically starts them and I get an error like the following: java.io.FileNotFoundException: Could not locate com/example/MyClass__init.class or com/example/myclass.clj on classpath (the .clj file is a Clojure source file). Now that I think about it this could be due to the order in which the bundles are started. Perhaps one of these bundles does not properly handle a missing dependency. And the Clojure bundle is a bit of a black box to me at this point. Tim On 08/18/2014 07:25 PM, Tim McIver wrote: > Neil, > > Running that command shows that the correct package is being imported > and resolved to the correct bundle. > > I should probably also mention that both the class that is being > instantiated as well as the class from which it is derived are compiled > from Clojure code. This /shouldn't/ matter as there are .class files > for both of these classes that are normal Java byte code. But one of > the bundles that I'm using is a Clojure OSGi bundle. Clojure is > problematic in OSGi as it has its own classloader but this bundle (not > created by me) /should/ handle this correctly, but I don't know for sure. > > Tim > > On 08/18/2014 05:29 PM, Neil Bartlett wrote: >> Does the “problem bundle” import the package? You can check this with the >> following command: >> >> inspect req osgi.wiring.package <bundle-id> >> >> >> Regards, >> Neil >> >> >> On 18 August 2014 at 22:09:17, Tim McIver ([email protected]) wrote: >> >> Hello, >> >> I'm getting a NoClassDefFoundError when trying to start a bundle that >> resolves without error. This happens when trying to instantiate a class >> (in the bundle activator) whose .class file resides in the bundle >> itself. But the class being instantiated is derived from a class found >> in another bundle, already resolved and started. To confirm that I've >> got things wired up in the way that I think I do, I ran the following >> command at the Felix console: >> >> g! which <problem-bundle-id> >> <fully-qualified-name-of-class-that-gives-noclassdeffounderror> >> >> >> and the response is good (I think): >> >> Loaded from: <com.example.impl> [50] >> >> >> where 50 is indeed the ID of the bundle where I'm exporting package >> com.example.impl. Any idea what could be causing this? >> >> Thanks, >> Tim >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

