GWT 2.8.0-RC3 in IntelliJ

Hi all,

I am attempting to use GWT 2.8.0-RC3 in IntelliJ IDEA 15.0.6. When I attempt to run my project, I get the following error:

Exception in thread "main" java.util.ServiceConfigurationError: org.apache.juli.logging.Log: Provider org.eclipse.jetty.apache.jsp.JuliLog not a subtype
    at java.util.ServiceLoader.fail(ServiceLoader.java:231)
    at java.util.ServiceLoader.access$300(ServiceLoader.java:181)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:369)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
    at org.apache.juli.logging.LogFactory.<init>(LogFactory.java:78)
    at org.apache.juli.logging.LogFactory.<clinit>(LogFactory.java:66)
    at org.apache.jasper.servlet.JspServlet.<init>(JspServlet.java:69)
    at org.eclipse.jetty.jsp.JettyJspServlet.<init>(JettyJspServlet.java:39)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at java.lang.Class.newInstance(Class.java:379)
    at org.eclipse.jetty.server.handler.ContextHandler$Context.createInstance(ContextHandler.java:2372)
    at org.eclipse.jetty.servlet.ServletContextHandler$Context.createServlet(ServletContextHandler.java:1166)
    at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:1207)
    at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:588)
    at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:396)
    at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:871)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:298)
    at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
    at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:550)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
    at org.eclipse.jetty.server.handler.RequestLogHandler.doStart(RequestLogHandler.java:140)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
    at org.eclipse.jetty.server.Server.start(Server.java:387)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
    at org.eclipse.jetty.server.Server.doStart(Server.java:354)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:759)
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:634)
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:923)
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:706)
    at com.google.gwt.dev.DevMode.main(DevMode.java:430)

I've done a bunch of debugging, and as far as I can tell, this is happening because Jetty is attempting to load org.eclipse.jetty.apache.jsp.JuliLog twice, once from my Maven repository and once from the IntelliJ cache in ~/.IntelliJIdea/15/system. If I can stop Jetty from trying to load from the Maven repository (or disable the IntelliJ cache), everything should work fine. Any ideas on what to do here? I can post more debug logs.

2 comments
Comment actions Permalink

Alternatively, if someone can tell me how I can debug GWT in IntelliJ with an external Jetty 9 instance, that would work as well. I am trying to upgrade Jetty, which appears to require upgrading GWT.

0
Comment actions Permalink

Never mind, I figured it out. I had a Maven dependency on gwt-codeserver and I had to add a "provided" scope.

1

Please sign in to leave a comment.