SuperDevMode GWT 2.7.0 -noserver在slf4j上不断崩溃

时间:2016-05-16 16:42:37

标签: java tomcat gwt slf4j

尝试使用-noserver选项启动GWT 2.7.0的代码服务器。当我开火时,我得到了

java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.eclipse.jetty.util.log.JettyAwareLogger.log(JettyAwareLogger.java:607)
at org.eclipse.jetty.util.log.JettyAwareLogger.warn(JettyAwareLogger.java:431)
at org.eclipse.jetty.util.log.Slf4jLog.warn(Slf4jLog.java:69)
at org.eclipse.jetty.util.component.AbstractLifeCycle.setFailed(AbstractLifeCycle.java:204)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:74)
at com.google.gwt.dev.codeserver.WebServer.start(WebServer.java:140)
at com.google.gwt.dev.codeserver.CodeServer.start(CodeServer.java:128)
at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:91)
at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:50)
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:497)
at com.google.gwt.dev.shell.SuperDevListener$1.run(SuperDevListener.java:84)

启动时没有" -noserver"但当然这对我不起作用,因为我需要在tomcat上调试服务器端代码。

我正在使用Eclipse的Google插件。论点:

-noserver -logLevel INFO -war "${workspace_loc:/myproject}/target/m2e-wtp/web-resources" -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -codeServerPort 9997 com.foo.MyProject

在墙上扔东西,我已经包括了

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.7</version>
    </dependency>

在我项目的pom文件中,并排除了所有其他slf4j工件。

(编辑)以下是生成的依赖关系树:(对SO太大,粘贴到pastebin)http://pastebin.com/qzRZzdW9

我尝试过的版本从1.5.6到1.7.16都没有成功。

我完全难过了。如果我遗漏了任何东西,请告诉我。

1 个答案:

答案 0 :(得分:0)

托马斯建议与-verbose:class合作是赢家。我使用的glassfish JSR303实现工件有我自己的一组内置的slf4j类,我不知道。很偷偷摸摸!

为Hibernate验证器进行交易解决了这个问题。

问题解决了!