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)
Comment #1
Posted on Apr 5, 2011 by Grumpy BearThere 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.
Comment #2
Posted on Apr 5, 2011 by Massive KangarooFixed in r836
Comment #3
Posted on Apr 5, 2011 by Grumpy BearI verified that this is now working in the latest build after a mvn clean install.
Status: Fixed
Labels:
Type-Defect
Priority-Medium