It seems as if jarjar isn't being applied to the extension jars. I tried updating to the latest SVN release today and built myself (using ant clean compile dist) and saw similar errors (from the assistedinject extension).
Sam On Fri, Nov 14, 2008 at 4:19 PM, Leigh Klotz <[EMAIL PROTECTED]> wrote: > > I'm getting runtime these errors but at runtime, not with an IDE. > My application will not run unless I add google-collect- > snapshot-20080530.jar to the classpath. > > I'm using JRE 1.6, and the recently downloaded guice- > snapshot20081016.zip. > I did not build it myself. > > I've checked a few times and can't see what I'm doing wrong. > Perhaps there's a jarjar problem with the snapshot creation? > > Gory details below: > > The error I get is > java.lang.NoClassDefFoundError: com/google/common/base/Preconditions > at com.google.inject.multibindings.Multibinder$RealMultibinder.<init> > (Multibinder.java:178) > > Line 178 is a reference to checkNotNull, which is one of the two > static imports from com.google.common.base.Preconditions. > > I have these classes in the servlet applications WEB-INF/lib > directory: > guice-assistedinject-snapshot20081016.jar > guice-commands-snapshot20081016.jar > guice-multibindings-snapshot20081016.jar > guice-privatemodules-snapshot20081016.jar > guice-servlet-snapshot20081016.jar > guice-snapshot20081016.jar > guice-spring-snapshot20081016.jar > guice-struts2-plugin-snapshot20081016.jar > guice-throwingproviders-snapshot20081016.jar > > If I add this file to the classpath, the error doesn't happen: > google-collect-snapshot-20080530.jar > > Here is the error: > > Nov 14, 2008 1:03:49 PM org.apache.catalina.core.StandardContext > listenerStart > SEVERE: Exception sending context initialized event to listener > instance of class com.example.MyGuiceServletContextListener > java.lang.NoClassDefFoundError: com/google/common/base/Preconditions > at com.google.inject.multibindings.Multibinder$RealMultibinder.<init> > (Multibinder.java:178) > at com.google.inject.multibindings.Multibinder$RealMultibinder.<init> > (Multibinder.java:163) > at com.google.inject.multibindings.Multibinder.newSetBinder > (Multibinder.java:93) > at com.google.inject.multibindings.MapBinder.newMapBinder > (MapBinder.java:104) > at com.example.MyModule.configure(Module.java:33) > at com.google.inject.AbstractModule.configure(AbstractModule.java:61) > at com.google.inject.spi.Elements$RecordingBinder.install > (Elements.java:157) > at com.google.inject.spi.Elements.getElements(Elements.java:91) > at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:100) > at com.google.inject.Guice.createInjector(Guice.java:92) > at com.example.MyGuiceServletContextListener.getInjector > (MyGuiceServletContextListener.java:35) > at > com.google.inject.servlet.GuiceServletContextListener.contextInitialized > (GuiceServletContextListener.java:37) > at org.apache.catalina.core.StandardContext.listenerStart > (StandardContext.java:3827) > at org.apache.catalina.core.StandardContext.start > (StandardContext.java:4334) > at org.apache.catalina.core.ContainerBase.addChildInternal > (ContainerBase.java:791) > at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: > 771) > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java: > 525) > at org.apache.catalina.startup.HostConfig.deployDirectory > (HostConfig.java:920) > at org.apache.catalina.startup.HostConfig.deployDirectories > (HostConfig.java:883) > at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java: > 492) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) > at org.apache.catalina.startup.HostConfig.lifecycleEvent > (HostConfig.java:311) > at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent > (LifecycleSupport.java:117) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: > 1053) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: > 1045) > at org.apache.catalina.core.StandardEngine.start(StandardEngine.java: > 443) > at org.apache.catalina.core.StandardService.start > (StandardService.java:516) > at org.apache.catalina.core.StandardServer.start(StandardServer.java: > 710) > at org.apache.catalina.startup.Catalina.start(Catalina.java:566) > 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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) > Caused by: java.lang.ClassNotFoundException: > com.google.common.base.Preconditions > at org.apache.catalina.loader.WebappClassLoader.loadClass > (WebappClassLoader.java:1358) > at org.apache.catalina.loader.WebappClassLoader.loadClass > (WebappClassLoader.java:1204) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) > ... 36 more > > Thank you, > Leigh. > > On Oct 24, 8:14 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: >> On Oct 24, 3:07 am, max <[EMAIL PROTECTED]> wrote: >> >> > In multibindings extension in files: >> >> > com.google.inject.multibindings.MapBinder >> > com.google.inject.multibindings.Multibinder >> >> > there are two static imports: >> >> > import static com.google.common.base.Preconditions.checkNotNull; >> > import static com.google.common.base.Preconditions.checkState; >> >> > while it should say: >> >> > import static com.google.inject.internal.base.Preconditions >> >> We use jarjar to rewrite the imports in the .class files. >> Your IDE might complain, but these imports are legit. >> If you'd like, you can get the source to these classes >> from the Google Collections project: >> http://code.google.com/p/google-collections/ > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "google-guice" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/google-guice?hl=en -~----------~----~----~----~------~----~------~--~---
