尝试使用-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上调试服务器端代码。

我正在使用Google Eclipse插件。参数:

-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的版本,但没有成功。

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

最佳答案

托马斯建议与-verbose:class一起运行是一个赢家。我正在使用的glassfish JSR303实现工件具有我自己不知道的一组内置slf4j类。偷偷摸摸!

用Hibernate验证器解决该问题。

问题解决了!

09-26 12:19