ops4j/peaberry

Latest from trunk doesnt work with Guice 3.0

mcculls opened this issue · 3 comments

Originally reported on Google Code with ID 58

I took the latest from trunk, built it and installed it in my local maven repo. I then
built and ran my app using Pax Runner, and got the following exception, which seems
to be related to a class that used to be built and packaged by Guice but is no longer
so:

org.osgi.framework.BundleException: Exception in org.ops4j.peaberry.osgi.Activator.start()
of bundle org.ops4j.peaberry.
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:276)
    at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._start(FrameworkCommandProvider.java:252)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:155)
    at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:156)
    at org.eclipse.osgi.framework.internal.core.FrameworkConsole.runConsole(FrameworkConsole.java:141)
    at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:105)
    at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.NoClassDefFoundError: com/google/inject/util/Jsr330
    at org.ops4j.peaberry.osgi.Activator$a.configure(Peaberry:120)
    at com.google.inject.AbstractModule.configure(AbstractModule.java:59)
    at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
    at com.google.inject.spi.Elements.getElements(Elements.java:101)
    at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
    at com.google.inject.Guice.createInjector(Guice.java:95)
    at com.google.inject.Guice.createInjector(Guice.java:72)
    at com.google.inject.Guice.createInjector(Guice.java:62)
    at org.ops4j.peaberry.osgi.Activator.start(Peaberry:116)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)

Reported by ydewit on 2011-04-05 20:31:32

There is a small dependency on com.google.inject.util.Jsr330.named in Activator. Afaik,
for Guice 3.0, it should be using Names.named instead.

Reported by ydewit on 2011-04-05 20:39:42

Fixed in r836

Reported by mcculls on 2011-04-05 22:01:30

  • Status changed: Fixed
I verified that this is now working in the latest build after a mvn clean install.

Reported by ydewit on 2011-04-05 22:31:16