2016-05-16 2 views
2

Пытается запустить кодовый сервер для GWT 2.7.0 с опцией -noserver. Когда я огонь его я получаюSuperDevMode GWT 2.7.0 -noserver продолжает сбой на slf4j

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», но, конечно, не будет работать для меня, потому что мне нужно для отладки кода на стороне сервера на котом.

Я использую плагин 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> 

в файле моего пом проекта, и исключены все другие SLF4J артефакты.

(редактировать) Вот результирующее дерево зависимостей: (слишком большой для SO, так приклеиваются к Pastebin) http://pastebin.com/qzRZzdW9

Я пробовал версии от 1.5.6 до 1.7.16 без успеха.

Я полностью в тупике. Пожалуйста, дайте мне знать, если я что-то оставил.

+0

Мне кажется странным, что '-noserver' vs. not-'-noserver' имеет значение. Кроме того, была ли у вас зависимость Slf4j (переходная), прежде чем добавлять ее явно к вашему POM? Это происходит только в Eclipse или также при запуске из Maven с помощью 'mvn gwt: run' или аналогичного? –

+0

Да, очень странно! Итак, были зависимости slf4j. Я исключил их явно и могу подтвердить, что есть только один slf4j jar в пути к классам, когда я закончил со всем. Это происходит в Eclipse, и это также происходит, когда я запускаю mvn gwt: run-codeserver ... – user2458080

+0

Можете ли вы предоставить полный список зависимостей? Можно связать Slf4j или использовать разные Maven-координаты Maven. –

ответ

0

Предложение Томаса для работы с -verbose:class было победителем. Артефакт, реализованный в реалистичном ящике Glassfish JSR303, который я использовал, имел свой собственный набор встроенных классов slf4j без ведома. Довольно подлый!

Торгуя, что для валидатора Hibernate исправил эту проблему.

Проблема решена!

Смежные вопросы