尝试使用-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验证器解决该问题。
问题解决了!