Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP Status 500 - Handler processing failed; nested exception is java.lang.NoClassDefFoundError: com/google/inject/internal/Lists #5

Open
charyorde opened this issue Feb 6, 2014 · 2 comments

Comments

@charyorde
Copy link

Hi,

Thanks for the project. It's been 2 years, so I don't know if this project is still active. But I'll try.

My project uses Spring 4.0.0.RELEASE, Java 7, Tomcat 7 and servlet 3.0. I pointed the request dispatcher to listen at / where I have my index resource. Unfortunately I'm getting this:

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: com/google/inject/internal/Lists
    org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1284)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:965)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:822)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause

java.lang.NoClassDefFoundError: com/google/inject/internal/Lists
    com.google.inject.assistedinject.FactoryProvider.createMethodMapping(FactoryProvider.java:221)
    com.google.inject.assistedinject.FactoryProvider.newFactory(FactoryProvider.java:160)
    com.google.inject.assistedinject.FactoryProvider.newFactory(FactoryProvider.java:155)
    com.google.template.soy.tofu.internal.TofuModule.configure(Unknown Source)
    com.google.inject.AbstractModule.configure(AbstractModule.java:59)
    com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
    com.google.inject.AbstractModule.install(AbstractModule.java:118)
    com.google.template.soy.SoyModule.configure(Unknown Source)
    com.google.inject.AbstractModule.configure(AbstractModule.java:59)
    com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
    com.google.inject.spi.Elements.getElements(Elements.java:101)
    com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
    com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
    com.google.inject.Guice.createInjector(Guice.java:95)
    com.google.inject.Guice.createInjector(Guice.java:72)
    com.google.inject.Guice.createInjector(Guice.java:62)
    com.google.template.soy.GuiceInitializer.initializeIfNecessary(Unknown Source)
    com.google.template.soy.SoyFileSet$Builder.<init>(Unknown Source)
    com.google.template.soy.SoyFileSet$Builder.<init>(Unknown Source)
    com.tomakehurst.springclosuretemplates.web.mvc.ClosureTemplateViewResolver.compileTemplates(ClosureTemplateViewResolver.java:51)
    com.tomakehurst.springclosuretemplates.web.mvc.ClosureTemplateViewResolver.buildView(ClosureTemplateViewResolver.java:77)
    org.springframework.web.servlet.view.UrlBasedViewResolver.loadView(UrlBasedViewResolver.java:437)
    org.springframework.web.servlet.view.AbstractCachingViewResolver.createView(AbstractCachingViewResolver.java:244)
    org.springframework.web.servlet.view.UrlBasedViewResolver.createView(UrlBasedViewResolver.java:402)
    org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.java:146)
    org.springframework.web.servlet.view.ContentNegotiatingViewResolver.getCandidateViews(ContentNegotiatingViewResolver.java:363)
    org.springframework.web.servlet.view.ContentNegotiatingViewResolver.resolveViewName(ContentNegotiatingViewResolver.java:284)
    org.springframework.web.servlet.DispatcherServlet.resolveViewName(DispatcherServlet.java:1264)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1204)
    org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1012)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:822)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause

java.lang.ClassNotFoundException: com.google.inject.internal.Lists
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
    com.google.inject.assistedinject.FactoryProvider.createMethodMapping(FactoryProvider.java:221)
    com.google.inject.assistedinject.FactoryProvider.newFactory(FactoryProvider.java:160)
    com.google.inject.assistedinject.FactoryProvider.newFactory(FactoryProvider.java:155)
    com.google.template.soy.tofu.internal.TofuModule.configure(Unknown Source)
    com.google.inject.AbstractModule.configure(AbstractModule.java:59)
    com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
    com.google.inject.AbstractModule.install(AbstractModule.java:118)
    com.google.template.soy.SoyModule.configure(Unknown Source)
    com.google.inject.AbstractModule.configure(AbstractModule.java:59)
    com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223)
    com.google.inject.spi.Elements.getElements(Elements.java:101)
    com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133)
    com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
    com.google.inject.Guice.createInjector(Guice.java:95)
    com.google.inject.Guice.createInjector(Guice.java:72)
    com.google.inject.Guice.createInjector(Guice.java:62)
    com.google.template.soy.GuiceInitializer.initializeIfNecessary(Unknown Source)
    com.google.template.soy.SoyFileSet$Builder.<init>(Unknown Source)
    com.google.template.soy.SoyFileSet$Builder.<init>(Unknown Source)
    com.tomakehurst.springclosuretemplates.web.mvc.ClosureTemplateViewResolver.compileTemplates(ClosureTemplateViewResolver.java:51)
    com.tomakehurst.springclosuretemplates.web.mvc.ClosureTemplateViewResolver.buildView(ClosureTemplateViewResolver.java:77)
    org.springframework.web.servlet.view.UrlBasedViewResolver.loadView(UrlBasedViewResolver.java:437)
    org.springframework.web.servlet.view.AbstractCachingViewResolver.createView(AbstractCachingViewResolver.java:244)
    org.springframework.web.servlet.view.UrlBasedViewResolver.createView(UrlBasedViewResolver.java:402)
    org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.java:146)
    org.springframework.web.servlet.view.ContentNegotiatingViewResolver.getCandidateViews(ContentNegotiatingViewResolver.java:363)
    org.springframework.web.servlet.view.ContentNegotiatingViewResolver.resolveViewName(ContentNegotiatingViewResolver.java:284)
    org.springframework.web.servlet.DispatcherServlet.resolveViewName(DispatcherServlet.java:1264)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1204)
    org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1012)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:822)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

That class seems deprecated. When I switched to try out guice 3, the stack trace is similar to the one above.

Any plans to get spring-closure-template to work on Spring 4, Java 7, Tomcat 7 and servlet 3.0?

Thanks for helping out.

@tomakehurst
Copy link
Owner

Hi,

Yes, unfortunately I'm not actively working on this library any more as I no longer use Spring or GCT. The latter doesn't seem to get much love from Google these days either.

Have you looked at more widely used/supported options like Mustache?

Cheers,
Tom

@charyorde
Copy link
Author

Thanks for the response.

Yes I've looked at Mustache. I simply wanted an entry point with spring-closure-templates, then make use of mustache only on the client side. But it seems the reverse will be the case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants