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

support Guice 4 #77

Open
email2liyang opened this issue May 4, 2015 · 1 comment
Open

support Guice 4 #77

email2liyang opened this issue May 4, 2015 · 1 comment

Comments

@email2liyang
Copy link

Guice 4 just released, does sitebricks has plan to support Guice 4? I try sibebricks v0.8.9 with Guice 4, it report
java.lang.NoClassDefFoundError, the class com/google/inject/internal/util/$ImmutableList has been removed from Guice 4

java.lang.NoClassDefFoundError: Lcom/google/inject/internal/util/$ImmutableList;
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2436)
    at java.lang.Class.getDeclaredFields(Class.java:1806)
    at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:675)
    at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:380)
    at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:399)
    at com.google.inject.internal.BindingBuilder.toProvider(BindingBuilder.java:110)
    at com.google.inject.internal.BindingBuilder.toProvider(BindingBuilder.java:100)
    at com.google.inject.internal.BindingBuilder.toProvider(BindingBuilder.java:43)
    at com.google.inject.multibindings.Multibinder$RealMultibinder.configure(Multibinder.java:269)
    at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
    at com.google.inject.multibindings.Multibinder.newSetBinder(Multibinder.java:115)
    at com.google.inject.multibindings.Multibinder.newSetBinder(Multibinder.java:124)
    at com.google.sitebricks.SitebricksModule.configure(SitebricksModule.java:82)
    at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
    at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
    at com.google.inject.spi.Elements.getElements(Elements.java:110)
    at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
    at com.google.inject.Guice.createInjector(Guice.java:96)
    at com.google.inject.Guice.createInjector(Guice.java:84)
....
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4992)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5490)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
    at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1763)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618)
    at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487)
    at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
    at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
    at sun.rmi.transport.Transport$1.run(Transport.java:177)
    at sun.rmi.transport.Transport$1.run(Transport.java:174)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.google.inject.internal.util.$ImmutableList
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
    ... 67 more

@devng
Copy link

devng commented Jul 28, 2016

I also have some issues when I try running Sitebricks with Guice 4, see the stacktrace bellow. At my company we are having not a small code base written using Sitebricks and we are trying to move to Java 8 and Guice 4 but this is holding us back. We could just use Java 8 with Guice 3, but there are some bugs there as well (google/guice#757).

"hostname":"f1759c37d6f3","logRecords":"2016-07-28T11:41:04.729Z  WARN org.eclipse.jetty.servlet.ServletHandler: /connect/external/5799ef4fcff47e06740152a0
    java.lang.NullPointerException
      at com.google.sitebricks.rendering.control.EmbedWidget.render(EmbedWidget.java:66)
      at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
      at com.google.sitebricks.rendering.control.XmlWidget.render(XmlWidget.java:79)
      at com.google.sitebricks.rendering.control.SingletonWidgetChain.render(SingletonWidgetChain.java:22)
      at com.google.sitebricks.rendering.control.ShowIfWidget.render(ShowIfWidget.java:32)
      at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
      at com.google.sitebricks.rendering.control.XmlWidget.render(XmlWidget.java:79)
      at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
      at com.google.sitebricks.rendering.control.XmlWidget.render(XmlWidget.java:79)
      at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
      at com.google.sitebricks.rendering.control.XmlWidget.render(XmlWidget.java:79)
      at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
      at com.google.sitebricks.rendering.control.XmlWidget.render(XmlWidget.java:79)
      at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
      at com.google.sitebricks.rendering.control.DecorateWidget.render(DecorateWidget.java:57)
      at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
      at com.google.sitebricks.rendering.control.XmlWidget.render(XmlWidget.java:79)
      at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
      at com.google.sitebricks.rendering.control.XmlWidget.render(XmlWidget.java:79)
      at com.google.sitebricks.rendering.control.ProceedingWidgetChain.render(ProceedingWidgetChain.java:21)
      at com.google.sitebricks.routing.WidgetRoutingDispatcher.bindAndRespond(WidgetRoutingDispatcher.java:158)
      at com.google.sitebricks.routing.WidgetRoutingDispatcher.dispatch(WidgetRoutingDispatcher.java:91)
      at com.google.sitebricks.SitebricksFilter.doFilter(SitebricksFilter.java:62)
      at com.google.sitebricks.HiddenMethodFilter.doFilter(HiddenMethodFilter.java:70)
      at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
      at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
      at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
      at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
      at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
      at org.eclipse.jetty.server.Server.handle(Server.java:497)
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
      at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
      at java.lang.Thread.run(Thread.java:745)
","@timestamp":"2016-07-28T11:41:04.729Z"}
{"hostname":"f1759c37d6f3","logRecords":"2016-07-28T11:41:04.768Z  WARN org.eclipse.jetty.servlet.ServletHandler: /connect/external/5799ef4fcff47e06740152a0abcd
    com.google.sitebricks.routing.EventDispatchException: Exception [NotFoundException - \"null\"] thrown by event method [public com.google.sitebricks.headless.Reply de.egym.cms.page.connect.ConnectExternalDataPage.show(java.lang.String)]

    at de.egym.cms.page.connect.ConnectExternalDataPage.lookupDataRepository(ConnectExternalDataPage.java:158)
    (See below for entire trace.)

      at com.google.sitebricks.routing.DefaultPageBook$MethodTuple.call(DefaultPageBook.java:830)
      at com.google.sitebricks.routing.DefaultPageBook$MethodTuple.call(DefaultPageBook.java:805)
      at com.google.sitebricks.routing.DefaultPageBook$PageTuple.callAction(DefaultPageBook.java:624)
      at com.google.sitebricks.routing.DefaultPageBook$PageTuple.doMethod(DefaultPageBook.java:603)
      at com.google.sitebricks.routing.WidgetRoutingDispatcher.fireEvent(WidgetRoutingDispatcher.java:171)
      at com.google.sitebricks.routing.WidgetRoutingDispatcher.bindAndRespond(WidgetRoutingDispatcher.java:122)
      at com.google.sitebricks.routing.WidgetRoutingDispatcher.dispatch(WidgetRoutingDispatcher.java:91)
      at com.google.sitebricks.SitebricksFilter.doFilter(SitebricksFilter.java:62)
      at com.google.sitebricks.HiddenMethodFilter.doFilter(HiddenMethodFilter.java:70)
      at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119)
      at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133)
      at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130)
      at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203)
      at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
      at org.eclipse.jetty.server.Server.handle(Server.java:497)
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
      at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
      at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at com.google.sitebricks.routing.DefaultPageBook$MethodTuple.call(DefaultPageBook.java:820)
      ... 27 more
    Caused by: de.egym.cms.exception.NotFoundException
      at de.egym.cms.page.connect.ConnectExternalDataPage.lookupDataRepository(ConnectExternalDataPage.java:158)
      at de.egym.cms.page.connect.ConnectExternalDataPage.show(ConnectExternalDataPage.java:130)
      ... 32 more
","@timestamp":"2016-07-28T11:41:04.768Z"

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