2016-09-30 4 views
0

Я загрузил проект Spring/Maven в Eclipse (вариант Spring Tools Suite), установил Run Jetty Run и нажал Run Jetty.NoSuchMethodError: org.eclipse.jetty.util.MultiMap.add

ПРОБЛЕМА: Jetty не запускается правильно:

OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 
Running Jetty 9.0.0.M3 
ParentLoaderPriority enabled 
Enable config class:runjettyrun.webapp.RJRWebInfConfiguration 
Enable config class:org.eclipse.jetty.webapp.WebXmlConfiguration 
Enable config class:runjettyrun.webapp.RJRMetaInfoConfiguration 
Enable config class:org.eclipse.jetty.webapp.FragmentConfiguration 
Enable config class:runjettyrun.annotation.RJRAnnotationConfiguration 
Enable config class:org.eclipse.jetty.webapp.JettyWebXmlConfiguration 
Enable config class:org.eclipse.jetty.webapp.TagLibConfiguration 
ProjectClassLoader: entry=/home/nico/src/nemaki/core/target/classes 
ProjectClassLoader: entry=/home/nico/.m2/repository/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar 
[... many other JAR libraries, none being Jetty ...] 
ProjectClassLoader: entry=/home/nico/.m2/repository/jp/aegif/nemakiware/nemakiware-common/2.3.10/nemakiware-common-2.3.10.jar 
Excluded entry=/home/nico/src/nemaki/core/target/test-classes 
2016-09-30 17:17:09.780:INFO:oejs.Server:main: jetty-9.0.0.M3 
2016-09-30 17:17:12.121:WARN:oejuc.AbstractLifeCycle:main: FAILED [email protected]{/core,[file:/home/nico/src/nemaki/core/WebContent/],STARTING}: java.lang.NoSuchMethodError: org.eclipse.jetty.util.MultiMap.add(Ljava/lang/Object;Ljava/lang/Object;)V 
java.lang.NoSuchMethodError: org.eclipse.jetty.util.MultiMap.add(Ljava/lang/Object;Ljava/lang/Object;)V 
    at org.eclipse.jetty.annotations.ClassInheritanceHandler.handle(ClassInheritanceHandler.java:56) 
    at org.eclipse.jetty.annotations.AnnotationParser$MyClassVisitor.visit(AnnotationParser.java:398) 
    at org.objectweb.asm.ClassReader.accept(Unknown Source) 

ВОПРОС: Как я могу это исправить?

ответ

0

У вас работает нестабильная версия Jetty.

Версия 9.0.0.M3 не является стабильной версией (это экспериментальный релиз релиза, кандидат на выпуск, что-то, чтобы интеграторы начали развивать свой код для возможного выпуска).

Используйте стабильный выпуск, например 9.3.12.v20160915, и у вас будет намного лучший опыт.

В 9.3.12.v20160915MultiMap класса можно найти в jetty-util-9.3.12.v20160915.jar

Также обратите внимание, что Jetty 9 является сервлет 3,1, а не 3.0.1 (видно в вашем выводе)

0

Как пояснил Иоакима, 9.0. 0.M3 - старая версия Jetty.

К счастью, Run Jetty Run был обновлен несколько недель назад.
Вот как использовать последнюю версию Run Jetty Run:

  • Удалить из Затмения любой существующей версии Run Jetty Run
  • Добавить сайт обновления: http://xzer.github.io/run-jetty-run-updatesite/nightly/
  • Установить из него нужный компонент и дополнительный компонент 9.3.6
  • Теперь у вас есть Run Jetty Run, используя Jetty 9.3.6, который уже год, но не вызывает ошибку выше. Обязательно выберите его в Run configurations.

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

  • Нет связанных вопросов^_^